P: ¿ Cuándo, si alguna vez, es útil citar con precisión a lambda
, y cuándo, si alguna vez, no debemos citar con precisión a lambda
?
Las personas usan lambda
s de tres maneras:
- llanura:
(lambda (x) x)
- citado:
'(lambda (x) x)
- comillas afiladas:
#'(lambda (x) x)
Este subproceso SO analiza los tres tipos, este subproceso SO explica por qué no se debe citar (NB: no una comilla nítida ) lambda
, y este subproceso SO también discute las distinciones entre comillas y comillas nítidas.
Ahora, el nodo manual sobre funciones anónimas y la cadena de documentación para lambda
tener en cuenta que los lambda
s son autocomillas
Una llamada de la forma
(lambda ARGS DOCSTRING INTERACTIVE BODY)
es auto citando; El resultado de evaluar la expresión lambda es la expresión misma. La expresión lambda se puede tratar como una función ...
Entonces, parece que (lambda (x) x)
y #'(lambda (x) x)
son equivalentes, pero '(lambda (x) x)
no lo es (lo más importante, cuando se compila byte).
Parece que uno raramente querría citar un lambda
, pero no me queda claro cuándo, si alguna vez, deberíamos, o no, citar con nitidez:
- ¿Las comillas afiladas son
lambda
simplemente una elección estilística, o hay circunstancias en las que las comillas afiladas son realmente útiles? - ¿Hay circunstancias en las que tenemos que no afilada citar una
lambda
, es decir, cuando se hace de manera alteraría el significado del código?