Tôi đập đầu vào tường cố gắng hiểu một số macro Clojure sử dụng liên kết không bình thường, và tôi dường như không thể tìm ra bất kỳ sự rạn nứt rõ ràng nào mà chúng cần. Bất cứ ai có thể giải thích cho tôi trong điều kiện giả?Ai đó có thể giải thích mối liên hệ không tiết lộ của Clojure trong các thuật ngữ đơn giản không?
42
A
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
Các vấn đề liên quan
- 1. Ai đó có thể giải thích Quy tắc 110 theo cách đơn giản nhất có thể không?
- 2. Ai đó có thể giải thích attr?
- 3. Có thể ai đó giải thích __declspec (trần truồng) không?
- 4. Ai đó có thể giải thích về Microsoft Unity?
- 5. Ai đó có thể giải thích cách TrafficStats hoạt động phép thuật của mình trong hệ điều hành Android không?
- 6. Ai đó có thể giải thích MustOverride?
- 7. Ai đó có thể giải thích hành vi của "conj"?
- 8. Ai đó có thể giải thích ASP.NET MVC cho tôi?
- 9. Ai đó có thể giải thích DBCC DROPCLEANBUFFERS?
- 10. Giải thích xpath và xquery bằng các thuật ngữ đơn giản
- 11. Bất cứ ai có thể giải thích chi tiết kỹ thuật ngoại lệ C++ cho tôi?
- 12. Ai đó có thể giải thích các calipers quay cho tôi không?
- 13. Có ai có thể giải thích về OAuth không?
- 14. Ai đó có thể giải thích thuật toán backpropagation cho tôi?
- 15. Ai đó có thể giải thích rõ hơn Bộ giải mã/Bộ giải mã không?
- 16. Ai đó có thể giải thích eclipse.p2.profile
- 17. Ai đó có thể giải thích “Siêu văn bản làm công cụ của trạng thái ứng dụng” theo các điều kiện đơn giản
- 18. Ai đó có thể giải thích cho tôi về NaN trong Ruby không?
- 19. Ai đó có thể giải thích mạng nơron nhân tạo?
- 20. Ai đó có thể giải thích thuộc tính aria- * của HTML5 không?
- 21. Ai đó có thể Giải thích mã java này
- 22. Ai đó có thể giải thích các phương pháp ẩn danh cho tôi không?
- 23. Ai đó có thể giải thích thuộc tính conf phụ thuộc của ivy.xml không?
- 24. Ai đó có thể giải thích cho tôi này `StaleDataException`
- 25. Ai đó có thể giải thích dòng mã này?
- 26. C# Ai đó có thể giải thích logic boolean này
- 27. Ai đó có thể giải thích những gì dup() trong C không?
- 28. Ai đó có thể giải thích trực tiếp mã khóa x86 JMP lắp ráp này không?
- 29. Ai đó có thể giải thích thuộc tính contextmenu trong HTML5 không?
- 30. Bất cứ ai có thể giải thích nguyên lý của thuật toán hq2x?
Ah, do đó, unquote-splice chỉ làm phẳng một danh sách? – Zubair
@ 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
@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?) –