emacs / elisp: для чего используется символ хэша (фунт, знак числа, октоторп)?
что это значит?
(add-hook 'compilation-mode-hook #'my-setup-compile-mode)
...и это отличается от
(add-hook 'compilation-mode-hook 'my-setup-compile-mode)
3 ответа:
нет никакой разницы:
(eq 'my-add #'my-add)доходность
tThe
#можно использовать передlambdaвыражение, указывающее байт-компилятору, что следующее выражение может быть скомпилировано байтом, см. документы для Анонимные Функции. Но нет ничего, чтобы скомпилировать в случае символа.в общем, он используется в печатные представление вместе с левой угловой скобки (
#<buffer foo.txt>он также используется в конструкциях читателем для представления круговых структур. См. документы для чтение синтаксиса для круговых объектов.
и тогда у вас есть его использование для обозначения база для чисел, например,
#x2c -> 44.плюс еще, я уверен.
я нашел этот вопрос при поиске того, что хэш означал в чем-то, что я нашел во время взлома
mode-line-format:#("-%-" 0 3 (help-echo "Display as tooltip when mouse hovers or with display-local-help."))который является форматом, используемым для свойства текста в строки где:
"-%-", текст должен быть пропертизирован: один тире и A %-строительство что приводит к "тире достаточно, чтобы заполнить оставшуюся часть линии режима", в результате чего знаменитый 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))так что вы могли бы создать что-то вроде:
должен быть полный список можно найти в верхней части Emacs lisp reference index.
Edit: или еще удобнее, изнутри самого Emacs:
M-x
infoRET (открытия браузера)dm
elispRET (откройте elisp руководство)я
#RET (список записи#в индексе)


