2010-12-31 32 views

Odpowiedz

50

Nie jestem ekspertem od Clojure, ale ponieważ jest to w zasadzie Lisp, rzeczy powinny być takie, że nie ma udziałów w spekulacjach, które łączą listę z pozycją, w której jest używana. Różnica wygląda następująco:

`(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, więc nieuznanie-spakowanie powoduje tylko spasowanie listy? – Zubair

+4

@Zubair: tak. Zauważ też, że w CLYURY '' '(tylda) jest używane zamiast', '(przecinek). – ffriend

+1

@ffriend: \ '(Jako ktoś, kto lubi, (n-ty (losowe 2) '(wiele innych)) zmian w Zamknięciu jestem zaskoczony ich użyciem' ~ '(tylda) nad tradycyjnym', '(przecinek) - jakikolwiek pomysł, dlaczego został zmieniony?) –

Powiązane problemy