Funciones de sintaxis corta (Arrow) y Anónimas (Lambda)
Clase 10 de 29 • Curso de Dart
Contenido del curso
Clase 10 de 29 • Curso de Dart
Contenido del curso
Usuario anónimo
Wilson Fabian Pérez Sucuzhañay
EDGAR MERCADO GARCIA
Mauricio Hernández
Luis Davaria
David Galicia
Christian David Sánchez
Facundo Nicolás García Martoni
Jesus Soto
Murray Walker Greer Cifuentes
Carlos Isaac Rosales Castellanos
Antonio Mendiola Farías
Valeria Calcina Cisneros
Marcela Cernelli
Edisson Castro
Oscar Ricardo Aranda
Andres Roberto Coello Goyes
Marcela Cernelli
Marcela Cernelli
Marcela Cernelli
Marcela Cernelli
Marcela Cernelli
Usuario anónimo
Félix Alejandro Zelaya Orellana
Uriel Mojica Mejía
Valeria Calcina Cisneros
Oscar Ricardo Aranda
Farit Albavi
Kebyn Enrique Ajin Elías
📌 También es conocida como flecha gorda (=>), se caracteriza por tener al lado derecho una expresión.
list.forEach((item) { print('${list.indexOf(item)}: $item'); });```
Muy buen ejemplo.
Excelente ejemplo!
Otra manera de usar el forEach :D:
main(List<String> args) { List<String> letters = [ 'Ella', 'no','te', 'ama']; // Usando arrow function en un foreach letters.forEach((letter) => print(letter)); }
Genial y ahorras lineas de código.
Super, gracias!
++RESUMEN DE LA CLASE++
Funciones Arrow y Anónimas
Arrow (también conocida como fat arrow): Se utiliza cuando la función tiene una sola línea de código. No se permiten llaves ni la palabra return. Ejemplo:
void functionArrow(int a, int b) => print("El resultado será ${a+b}"); //Si a la función le asignamos un tipo, la sentencia debe ser el retorno, así: int sumar(int a, int b) => a + b;
Anónimas (también conocidas como lambda o closures): Poseen cero o más parámetros separados por comas. Se suelen utilizar al momento de recorrer colecciones. Ejemplo:
//Utilizando el método forEach que posee cada objeto lista al ser creado, recorremos la misma: List lista = [1, 2, 3]; lista.forEach((val){ print(val); });
Gracias es de mucha ayuda clase a clase tener ese resumen aplicado con los los ejempls que cada uno hizo.
Muchas Gracias
definitivamente que en los comentarios aprendo más...
Código de la clase comentado:
// Clase sobre funciones arrow y funciones anónimas. main(List<String> args) { String nombre = 'Bruce', apellido = 'Wayne'; print("Soy Batman, y mi verdadera identidad es " + nombreCompleto(nombre, apellido)); List colores = ['Amarillo', 'Azul', 'Rojo']; List personas = ['Logan', 'Clark', 'Barry']; // * Las funciones anónimas son aquellas que son creadas sin darles un nombre, // * También son conocidas como lambda o closures. // ! Aunque una función anónima se ve muy similar a una función nombrada, // ! Se puede ver de la siguiente forma: // ? ([[Tipo] param1[, ...]]){ //Bloque de código}; // ! For each es una función encargada de iterar por cada valor de una lista. // ! Recibe como parámetro una función, a la cual se le pasa un "nombre o clave", cual usaremos para referirnos a la variable iterada // ! Por lo tanto, es un gran ejemplo para utilizar una función anónima. colores.forEach( (color){ print("$color es un color muy bonito para una bandera!"); } ); personas.forEach( (persona){ if(persona == 'Logan'){ print("Soy Wolverine"); } if(persona == 'Clark'){ print("Soy Superman"); } if(persona == 'Barry'){ print("Soy Flash"); } } ); } // * Las funciones arrow llevan este nombre por el símbolo usado para denotarlas, // * cual es => , estas son usadas para hacer uso de una función en la cual solo se utiliza una linea. void funcionFlecha(nombre) => print("Hola $nombre, nos volvemos a encontrar!"); // ! Aunque se usan igual que las funciones anteriormente vistas, tienen reglas: // ? No usar llaves {} ni la palabra [return]. // ? Entre el => y el ; solo puede haber una expresión. String nombreCompleto(nombre, apellido) => nombre + " " + apellido;
Porque todos los enlaces de este curso llevan a la documentación de Kotlin??
porque Dart y Kotlin son muy pero muy parecidos que la documentacion de Kotlin te sirve para implementar codigo en Dart
código de funciones Anónimas
Yo confundía las funciones Arrow con las expresiones lambda. Qué bueno saber esto.
Algunas funciones pueden aceptar una referencia a una función como parámetro. A veces, se hace referencia a ellas como "inyecciones de dependencia" o "devoluciones de llamada", ya que permite que la función de su llamada "devuelva la llamada" a su código, lo que le da la oportunidad de cambiar la forma en que se comporta la función llamada. Por ejemplo, la función de mapa del objeto Array le permite iterar sobre cada elemento de una matriz, luego construir una nueva matriz aplicando una función de transformación a cada elemento.
viva JAVASCRIPT
reglas para funciones Arrow y Anónimas
Estructura de las funciones Arrow
Estructura de las funciones Anónimas
Código de una función Arrow
Uso de funciones Anónimas y funciones Arrow
Es la parte más interesante.
Genial! Aunque no me quedo claro lo de las anónimas
Veo que es similar a las arrow function de javascript
Encontre esta documentacion que te puede servir como un apunte Saludos!
Tambien se puede implementar un arrow function como funcion anonima.. ejemplo
list.forEach((value)=>print(value))
¿Y cual es la diferencia entre una función normal y una función arrow? ¿Tienen mismas funcionalidades pero diferentes sintaxis? ¿Cuando me conviene usar una función normal y una función arrow?
La diferencia es que las funciones Arrow o Fat Arrow, las utilizamos cuando tenemos una sola expresión en una sola línea de código y se utiliza " => ". Ejemplo:
void funcionSuma(int a, int b) => print('Res. ${a+b}');
En cambio, en una función normal, se puede escribir más de una expresión y no se utiliza " => ".
En pocas palabras, la función Arrow, se utiliza cuando esta ocupa una sola línea de código.