Pular para o conteúdo principal

avoid_function_literals_in_foreach_calls

Detalhes sobre o diagnóstico 'avoid_function_literals_in_foreach_calls' produzido pelo analisador do Dart.

Function literals shouldn't be passed to 'forEach'.

Descrição

#

O analisador emite este diagnóstico quando o argumento de Iterable.forEach é uma closure.

Exemplo

#

O código a seguir produz este diagnóstico porque o argumento da invocação de forEach é uma closure:

dart
void f(Iterable<String> s) {
  s.forEach((e) => print(e));
}

Correções comuns

#

Se a closure puder ser substituída por um tear-off, substitua a closure:

dart
void f(Iterable<String> s) {
  s.forEach(print);
}

Se a closure não puder ser substituída por um tear-off, use um laço for para percorrer os elementos:

dart
void f(Iterable<String> s) {
  for (var e in s) {
    print(e);
  }
}

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.