emacs/elisp: Для чего является хеш (фунт, знак номера, octothorp) символом, используемым?

Что это делает?

(add-hook 'compilation-mode-hook #'my-setup-compile-mode)

... и действительно ли это отличается, чем

(add-hook 'compilation-mode-hook 'my-setup-compile-mode)
89
задан Cheeso 23 April 2010 в 20:14
поделиться

2 ответа

Нет никакой разницы:

(eq 'my-add #'my-add)

дает t

# можно использовать перед лямбда выражение, указывающее байтовому компилятору, что следующее выражение может быть байтово скомпилировано, см. Документацию для анонимных функций . Но в случае с символом компилировать нечего.

Как правило, он используется в печатном представлении вместе с левой угловой скобкой (<), чтобы указать, что напечатанный объект является описанием (но не может быть прочитан). Например:

#<buffer foo.txt>

Он также используется читателем в конструкциях для представления круговых структур. См. Документацию для Синтаксис чтения круглых объектов .

И затем вы можете использовать его для обозначения основания для целых чисел , например # x2c -> 44 .

Я уверен, что еще больше.

89
ответ дан 24 November 2019 в 07:20
поделиться

Полный список можно найти в верхней части указателя ссылок Emacs lisp .

Edit : Или, что еще удобнее, из самого Emacs:

  • Mx info RET (открыть информационный браузер)

  • d m elisp RET (открыть руководство по elisp)

  • I # RET (перечислить записи для # в индексе)

22
ответ дан 24 November 2019 в 07:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: