目次

prefer_foreach

すべての要素に関数を適用するだけの場合は、forEachを使用します。

この規則は Dart 2.0 以降で使用可能です。

詳細

#

反復可能オブジェクトのすべての要素に関数またはメソッドを適用するだけであれば、forEachを使用してください。

反復可能オブジェクトのすべての要素に関数またはメソッドを適用するだけであれば、forEachを使用することは、コードをより簡潔にするため良い習慣です。

BAD

dart
for (final key in map.keys.toList()) {
  map.remove(key);
}

GOOD

dart
map.keys.toList().forEach(map.remove);

注: for each ステートメントを forEach 呼び出しに置き換えると、反復可能オブジェクト自体に副作用がある場合に動作が変わる可能性があります。

dart
for (final v in myList) {
  foo().f(v); // This code invokes foo() many times.
}

myList.forEach(foo().f); // But this one invokes foo() just once.

使用法

#

prefer_foreach 規則を有効にするには、analysis_options.yaml ファイルの linter > rulesprefer_foreach を追加してください

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_foreach