我注意到了这一点,forEach并for in产生了不同的行为。我有一个列表,RegExp并希望hasMatch在每个列表上运行。使用 遍历列表时forEach,hasMatch永远不会返回 true。但是,如果我使用for in,则hasMatch返回 true。
示例代码:
class Foo {
final str = "Hello";
final regexes = [new RegExp(r"(\w+)")];
String a() {
regexes.forEach((RegExp reg) {
if (reg.hasMatch(str)) {
return 'match';
}
});
return 'no match';
}
String b() {
for (RegExp reg in regexes) {
if (reg.hasMatch(str)) {
return 'match';
}
}
return 'no match';
}
}
void main() {
Foo foo = new …Run Code Online (Sandbox Code Playgroud) dart ×1