Common Lisp có các ký hiệu từ khóa.
Từ khóa cũng là biểu tượng.
(symbolp ':foo) -> T
Điều gì làm cho các từ khóa đặc biệt:
- : foo được phân tách bởi người đọc Common Lisp như từ khóa biểu tượng :: foo
- từ khóa đánh giá cho riêng mình:: foo ->: foo
- gói nhà của các biểu tượng từ khóa là gói KEYWORD: từ khóa: foo ->: foo
- từ khóa được xuất từ gói KEYWORD
- từ khóa là hằng số, không được phép chỉ định giá trị khác nhau
Nếu không, từ khóa là ký hiệu thông thường. Vì vậy, từ khóa có thể đặt tên cho các hàm hoặc có danh sách thuộc tính.
Hãy nhớ: trong biểu tượng Lisp chung thuộc về gói. Điều này có thể được viết như sau:
- foo, khi biểu tượng có thể truy cập trong gói hiện
- foo: quầy bar, khi FOO biểu tượng được xuất khẩu từ BAR gói
- foo :: bar, khi biểu tượng FOO nằm trong gói BAR
Đối với các ký hiệu từ khóa có nghĩa là: foo, keyword: foo và keyword :: foo đều có cùng biểu tượng. Vì vậy, hai ký hiệu sau thường không được sử dụng.
Vì vậy: foo chỉ được phân tích cú pháp trong gói KEYWORD, giả định rằng không đặt tên gói trước tên biểu tượng có nghĩa là theo mặc định gói KEYWORD.
Nguồn
2009-10-06 19:53:17
Xem thêm: [trong Clojure, tại sao có Chuỗi, Từ khóa và Ký hiệu?] (Http://stackoverflow.com/q/11655080/405550) – Zaz