A veces veo esto
List list = [];
Luego list..add(color)
¿Cuál es la diferencia al usar 1 punto ( .
) y 2 puntos ( ..
)?
..
se conoce como notación en cascada . Le permite no repetir el mismo objetivo si desea llamar a varios métodos en el mismo objeto.
List list = [];
list.add(color1);
list.add(color2);
list.add(color3);
list.add(color4);
// with cascade
List list = [];
list
..add(color1)
..add(color2)
..add(color3)
..add(color4);
Es el operador en cascada de Dart
var l1 = new List<int>()..add(0)..addAll([1, 2, 3]);
resulta en l1
ser una lista[0, 1, 2, 3]
var l1 = new List<int>().add(0).addAll([1, 2, 3]);
da como resultado un error, porque .add(0)
devuelvevoid
..
(en el ejemplo anterior) se refiere new List()
, mientras que .
(en el segundo) se refiere al valor de retorno de la parte anterior de la expresión.
..
se introdujo para evitar la necesidad de regresar this
en todo tipo de métodos, como add()
poder usar una API de manera fluida.
..
proporciona esto fuera de la caja para todas las clases.
.. (in former example) refers to new List()
, ¿quiere decir que estamos creando una nuevaList
cuando estamos usando..
NO en mi opinión? Tunew
palabra me confundió , ¿es realmente NUEVO o estás hablando denew
palabras clave aquí?new
es ahora opcional...
se refiere a la lista devuelta pornew List<int>()
y permite invocar múltiples métodos como siadd(0)
addAll(...)
no se repitiera,l1.
y es la instancia de lista creada a la que se asignal1
, no el valor de retorno del último método en la cadena (addAll(...)
). ¿Responde esto a tu pregunta?new
es opcional comenzando con Dart 2.0, acabo de confundirme con elnew
contexto anterior y gracias por su explicación...add(6)
es comol1.add(6)
,.add(6)
es comol1.add(5).add(6)
.add(5)
retornosvoid
y no se puede llamaradd()
envoid
El ejemplo anterior es equivalente a:
fuente
..onClick
no se traduce abutton.classes.onClick
?..
Se conoce como el operador en cascada en dardo.Le permite utilizar más de una operación de subsecuencia:
Ejemplos:
banerad..load()..show().
Aquí hay otro ejemplo
fuente