2010-12-31 11 views

Trả lời

50

Tôi không có chuyên gia về Clojure, nhưng vì về cơ bản nó là một Lisp, mọi thứ nên giống như unquote-splice là unquote mà hợp nhất danh sách với vị trí mà nó được sử dụng. Sự khác biệt trông giống như thế này:

`(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, do đó, unquote-splice chỉ làm phẳng một danh sách? – Zubair

+4

@ Zubair: vâng. Cũng lưu ý rằng trong CLojure '~' (dấu ngã) được sử dụng thay cho ',' (dấu phẩy). – ffriend

+1

@ffriend: \ '(Là một người thích, (nth (random 2) '(nhiều người)) của những thay đổi trong Closure Tôi ngạc nhiên bởi việc sử dụng' ~ '(dấu ngã) trên', 'truyền thống (dấu phẩy) - bất kỳ ý tưởng nào tại sao nó đã bị thay đổi?) –

Các vấn đề liên quan