dart - jugar - dardos puntaje
¿Lista de uso del punto doble(.) En el dardo? (3)
A veces veo esta List list = [];
Entonces list..add(color)
¿Cuál es la diferencia entre usar 1 punto ( .
) Y 2 punto ( ..
)?
Las cascadas (..) le permiten realizar una secuencia de operaciones en el mismo objeto. leer doc para detalles
querySelector(''#confirm'') // Get an object.
..text = ''Confirm'' // Use its members.
..classes.add(''important'')
..onClick.listen((e) => window.alert(''Confirmed!''));
El ejemplo anterior es equivalente a:
var button = querySelector(''#confirm'');
button.text = ''Confirm'';
button.classes.add(''important'');
button.onClick.listen((e) => window.alert(''Confirmed!''));
Es el operador en cascada de Dart.
var l1 = new List<int>()..add(0)..addAll([1, 2, 3]);
resulta en que l1
es 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)
devuelve void
..
(en el ejemplo anterior) se refiere a la new List()
, mientras que .
(en el último) se refiere al valor de retorno de la parte anterior de la expresión.
..
se introdujo para evitar la necesidad de devolver this
en todo tipo de métodos como add()
para poder usar una API de manera fluida.
..
proporciona esto fuera de la caja para todas las clases.
..
es conocida 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);