¿Enumerar el uso del doble punto (.) en dardo?

Resuelto Daniel Mana asked hace 6 años • 5 respuestas

A veces veo esto List list = [];

Entonceslist..add(color)

¿Cuál es la diferencia entre usar 1 punto( .) y 2 puntos( ..)?

Daniel Mana avatar Mar 23 '18 17:03 Daniel Mana
Aceptado

..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);
Alexandre Ardhuin avatar Mar 23 '2018 10:03 Alexandre Ardhuin

Es el operador en cascada de Dart.

var l1 = new List<int>()..add(0)..addAll([1, 2, 3]);

resulta en l1ser una lista[0, 1, 2, 3]

var l1 = new List<int>().add(0).addAll([1, 2, 3]);

resulta en un error, porque .add(0)devuelvevoid

..(en el ejemplo anterior) se refiere a 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 regresar thisen todo tipo de métodos, como add()poder usar una API de manera fluida.

..proporciona esto listo para usar para todas las clases.

Günter Zöchbauer avatar Mar 23 '2018 10:03 Günter Zöchbauer

Las cascadas (..) permiten realizar una secuencia de operaciones sobre un mismo objeto. lea el documento para más detalles

querySelector('#confirm') // Get an object.
  ..text = 'Confirm' // Use its members.
  ..classes.add('important')
  ..onClick.listen((e) => window.alert('Confirmed!'));

El ejemplo anterior equivale a:

var button = querySelector('#confirm');
button.text = 'Confirm';
button.classes.add('important');
button.onClick.listen((e) => window.alert('Confirmed!'));
Mohsin AR avatar Mar 16 '2019 15:03 Mohsin AR

Puntos dobles (..) también conocidos como operador en cascada

Le permite no repetir el mismo objetivo si desea llamar a varios métodos en el mismo objeto.

por ejemplo, sin puntos dobles

var paint = Paint();
paint.color = Colors.black;
paint.strokeCap = StrokeCap.round;
paint.strokeWidth = 5.0;

Pero después de usar "..", el código anterior se escribirá así:

var paint = Paint()
..color = Colors.black
..strokeCap = StrokeCap.round
..strokeWidth = 5.0;

Puntos triples (...), es decir, operador de extensión

“…” también conocido como operador de extensión que proporciona una forma concisa de insertar múltiples valores en una colección. Puedes usar esto para insertar todos los elementos de una lista en otra lista:

Normalmente usamos .add() o .addAll() para agregar datos a la lista como:

var list = [1, 2, 3];
var list2=[];
list2.addAll(list);

Después de usar “…” escribiremos un código como este:

var list = [1, 2, 3];
var list2 = [0, ...list];
Enough Technology avatar Jul 12 '2022 11:07 Enough Technology

..Se conoce como operador en cascada en dardo.

Le permite utilizar más de una operación de subsecuencia:

Ejemplos:

banerad..load()..show().

List coursename;
coursename..add("java")..add("flutter" )..add("dart");

Aquí hay otro ejemplo

Aquí hay otro ejemplo

Raushan Jha avatar Jan 31 '2020 09:01 Raushan Jha