Soy nuevo en Dart y espero que alguien pueda explicar esta advertencia de alcance variable.
Cuando uso lo siguiente:
enum fruits {tomatoes, apples, oranges} void main() { for (var item in fruits.values) { var color = 'red'; // Local variable 'color' declared switch (item){ case fruits.apples: break; case fruits.tomatoes: break; default: color = 'orange'; // Local variable 'color' used, analyzer doesn't see break;} print (color); // Local variable 'color' used, analyzer sees } }
El analizador de código no tiene ningún problema con lo anterior. Pero si comento la declaración de impresión // print (color);
, recibo la advertencia The value of the local variable 'color' isn't used.
del analizador aunque se utilice el color
en el caso predeterminado de la declaración de switch
.
¿Por qué el analizador no "ve" la variable local en el caso default
?
porque asignar los colores variables no es considerar usar la variable.... por ejemplo, imprimir el color considere usar la variable. Cuando usa el color para un widget o cualquier otra cosa, la pelusa desaparecerá.