Відповіді:
Немає різниці:
(eq 'my-add #'my-add)
врожайність t
#
Може бути використано в передній частині lambda
виразу , яке вказує на байти-компілятор , що такий вираз може бути складено байтами, см документації для анонімних функцій . Але нічого не можна складати у випадку символу.
Взагалі він використовується у друкованому зображенні разом із лівою кутовою дужкою (<) для позначення того, що надрукований об'єкт - це опис (але його неможливо прочитати). Наприклад:
#<buffer foo.txt>
Він також використовується в конструкціях читача для представлення кругових структур. Дивіться документи про синтаксис читання для кругових об’єктів .
І тоді ви використовуєте його для позначення бази для цілих чисел , наприклад #x2c -> 44
.
Плюс більше я впевнений.
'symbol
представляє (quote symbol)
і #'symbol
представляє (function symbol)
синтаксично.
Список, який повинен бути всебічним, можна знайти у верхній частині референсного індексу Emacs lisp .
Редагувати : Або ще зручніше, зсередини самого Emacs:
M-x info
RET (відкрити браузер інформації)
d m elisp
RET (відкрити посібник elisp)
I #
RET(перерахуйте записи #
в індексі)
Я знайшов це питання під час пошуку того, що означав хеш у чомусь, що я виявив під час злому mode-line-format
:
#("-%-" 0 3
(help-echo "Display as tooltip when mouse hovers or with display-local-help."))
який формат використовується для властивостей тексту в рядках, де:
"-%-"
, текст, який потрібно впорядкувати: один тире та % -конструкція, що призводить до "тире, достатнього для заповнення залишків рядка режиму", в результаті чого з'явиться знаменитий Emacs ------
.0
, перший символ, на який застосовуються властивості тексту.3
, останній символ, на який застосовуються властивості тексту, тобто весь "-%-"
.(help-echo "...")
, властивість і рядок як його аргумент.Це можна створити за допомогою propertize
функції :
(propertize "Hover over me!" 'help-echo '"congratulations!")
буде те саме, що #("Hover over me!" 0 14 (help-echo "Congratulations!"))
:
Якщо ви використовуєте режим блокування шрифту, використання buffer-substring
команди може створити щось подібне:
(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))
Отже, ви можете створити щось на кшталт:
#
до одинокого символу є отримання діагностики під час компіляції, якщо цей символ не визначений.