Trong Emacs Lisp, nếu foo
là một biểu tượng, thì 'foo
và #'foo
hoàn toàn tương đương. Hình thức thứ hai (với #'
) được ưa thích khi foo
là một hàm, vì nó ghi lại thực tế rằng nó được dự định sẽ bị loại bỏ.
Do đó, hai hình thức của bạn là hoàn toàn tương đương, và hình thức với #'
được ưu tiên.
Chỉnh sửa : như được chỉ ra bởi Malabarba, điều này không hoàn toàn đúng: #'
trên các biểu tượng sẽ khiến trình biên dịch byte phát ra cảnh báo nếu chức năng không được xác định.
(Lưu ý rằng đây không phải là trường hợp của biểu mẫu lambda, vì điều này đơn giản '
ngăn trình biên dịch byte biên dịch biểu mẫu lambda, như được ghi lại ở nơi khác . Lưu ý thêm rằng điều này cũng không nhất thiết là trong các phương ngữ Lisp khác, ví dụ như trong Lisp thường #'foo
thực hiện ràng buộc sớm.)