He oído que habrá una nueva sintaxis en DMD 2.058 para funciones anónimas, pero no puedo encontrar ninguna información sobre ella. ¿Cuál es la nueva sintaxis y la vieja sintaxis va a ser desaprobada?¿Cuál es la nueva sintaxis lambda?
9
A
Respuesta
13
Creo que es como C#'s.
Los siguientes son equivalentes:
delegate(i, j) { return i + j; }
(i, j) => i + j
como son:
delegate(i) { return i; }
(i) => i
i => i // Can leave off parentheses
como son:
delegate(int i) { return i; }
(int i) => i
aunque no estoy seguro de si los tipos de retorno explícito también se apoyan en la nueva sintaxis
7
No se está eliminando la funcionalidad actual de lambda. Es solo que se está introduciendo una nueva sintaxis de Terser para aquellos que lo quieran. Como Merhdad says, es esencialmente la sintaxis de C#, aunque no sé si es 100% idéntico.
Así que en lugar de hacer algo así como
auto found = find!((a){return func(a) == value;})(range);
haces algo como
auto found = find!(a => func(a) == value)(range);
Cuestiones relacionadas
- 1. Sintaxis de la expresión Lambda
- 2. IQueryable Lambda proyección Sintaxis
- 3. ¿Cuál es la "sintaxis revisada" en OCaml?
- 4. ¿Cuál es la diferencia entre la nueva Acción() y una lambda?
- 5. ¿Cuál es la sintaxis de VB.NET para usar List.FindAll() con un lambda?
- 6. ¿Cuál es la sintaxis de la nueva línea en Objective-C?
- 7. ¿Cuál es la sintaxis `& ::` en LESS CSS?
- 8. ¿Cuál es el uso de la sintaxis = =?
- 9. Sintaxis detrás ordenados (clave = lambda :)
- 10. LINQ Query Sintaxis a Lambda
- 11. Definir nueva sintaxis en Emacs
- 12. C# Subproceso anónimo con sintaxis Lambda
- 13. lambda expresión de sintaxis vs clase LambdaExpression
- 14. ¿Cuál es el significado de esta sintaxis?
- 15. sintaxis de la función Lambda en JavaScript sin llaves
- 16. ¿Es Linq o Lambda?
- 17. externa izquierda en la sintaxis/método lambda en LINQ
- 18. ¿Cuál es la sintaxis para "no igual" en SQLite?
- 19. ¿Cuál es la sintaxis correcta para usar Database.ExecuteSqlCommand con parámetros?
- 20. ¿Cuál es la sintaxis para MOD en java
- 21. En Java, ¿cuál es la sintaxis para comentar múltiples líneas?
- 22. ¿Cuál es la sintaxis de RTF para un hipervínculo?
- 23. ¿Cuál es la sintaxis de Enhanced for loop en Java?
- 24. ¿Cuál es la sintaxis de una función estática?
- 25. En C, ¿cuál es la sintaxis correcta para declarar punteros?
- 26. ¿Cuál es la sintaxis correcta para 'else if'?
- 27. archivos adjuntos de jenkins: ¿cuál es la sintaxis?
- 28. ¿Cuál es la sintaxis correcta para las matrices en powershell?
- 29. ¿Cuál es la sintaxis de F # para "no igual a"?
- 30. mysql: ¿Cuál es la sintaxis correcta para NOT LIKE?
parece un poco tonto para preguntar, pero supongo '(x) => {return x;} forma' también es compatible? Es decir, ¿es válido usar el operador con un bloque de enunciado delimitado por llaves? – CodexArcanum
@CodexArcanum: No estoy seguro. – Mehrdad