Câu trả lời:
Không có sự khác biệt:
(eq 'my-add #'my-add)
hoa lợi t
Có #
thể được sử dụng ở phía trước của một lambda
biểu thức cho biết trình biên dịch byte rằng biểu thức sau có thể được biên dịch theo byte, hãy xem tài liệu về Hàm ẩn danh . Nhưng không có gì để biên dịch trong trường hợp của một biểu tượng.
Nói chung, nó được sử dụng trong biểu diễn in cùng với dấu ngoặc nhọn bên trái (<) để chỉ ra rằng đối tượng được in ra là một mô tả (nhưng không thể đọc được). Ví dụ:
#<buffer foo.txt>
Nó cũng được người đọc sử dụng trong các cấu trúc để biểu diễn các cấu trúc hình tròn. Xem tài liệu về Cú pháp Đọc cho Đối tượng Hình tròn .
Và sau đó bạn có công dụng của nó để biểu thị cơ số cho số nguyên , ví dụ #x2c -> 44
.
Thêm nữa, tôi chắc chắn.
'symbol
đại diện (quote symbol)
và #'symbol
đại diện (function symbol)
về mặt cú pháp.
Bạn có thể tìm thấy danh sách toàn diện ở đầu chỉ mục tham chiếu lisp Emacs .
Chỉnh sửa : Hoặc thậm chí thuận tiện hơn, từ chính Emacs:
M-x info
RET (mở trình duyệt thông tin)
d m elisp
RET (mở hướng dẫn sử dụng elisp)
I #
RET(liệt kê các mục #
trong chỉ mục)
Tôi đã tìm thấy câu hỏi này trong khi tìm kiếm ý nghĩa của hàm băm trong thứ gì đó tôi tìm thấy khi hack mode-line-format
:
#("-%-" 0 3
(help-echo "Display as tooltip when mouse hovers or with display-local-help."))
là một định dạng được sử dụng cho các thuộc tính văn bản trong chuỗi trong đó:
"-%-"
, văn bản cần được điều chỉnh phù hợp: một dấu gạch ngang và % -construct dẫn đến "dấu gạch ngang đủ để lấp đầy phần còn lại của dòng chế độ", dẫn đến Emacs nổi tiếng ------
.0
, ký tự đầu tiên áp dụng các thuộc tính văn bản.3
, ký tự cuối cùng mà các thuộc tính văn bản áp dụng, tức là toàn bộ "-%-"
.(help-echo "...")
, một thuộc tính và một chuỗi làm đối số của nó.Điều này có thể được tạo bằng propertize
hàm :
(propertize "Hover over me!" 'help-echo '"congratulations!")
sẽ giống như #("Hover over me!" 0 14 (help-echo "Congratulations!"))
:
Nếu bạn đang sử dụng chế độ khóa phông chữ, việc sử dụng buffer-substring
lệnh có thể tạo ra một cái gì đó như sau:
(buffer-substring 1 28) ; First 27 characters in the current buffer
⇒ #(";; This buffer is for notes"
0 3
(fontified t face font-lock-comment-delimiter-face)
3 27
(fontified t face font-lock-comment-face))
Vì vậy, bạn có thể tạo một cái gì đó như:
#
cho một biểu tượng đơn lẻ là nhận được chẩn đoán tại thời điểm biên dịch nếu biểu tượng đó không được xác định.