2010-12-31 16 views

Respuesta

50

No soy un experto en Clojure, pero como es básicamente un Lisp, las cosas deberían ser así: unquote-splice es una comilla que combina la lista con el lugar donde se usa. La diferencia se ve así:

`(1 2 ~(list 3 4)) => (1 2 (3 4)) 
`(1 2 [email protected](list 3 4)) => (1 2 3 4) 

` == syntax-quote 
~ == unquote 
[email protected] == unquote-splice 
+2

Ah, ¿tan unquote-splice simplemente aplana una lista? – Zubair

+4

@Zubair: sip. También tenga en cuenta que en CLojure '~' (tilde) se usa en lugar de ',' (coma). – ffriend

+1

@ffriend: \ '(Como alguien a quien le gusta, (nth (random 2) '(muchos)) de los cambios en el Cierre, estoy sorprendido por el uso de' ~ '(tilde) sobre el', 'tradicional (coma) - ¿Alguna idea de por qué fue cambiado?) –

Cuestiones relacionadas