Size: a a a

Emacs — русскоговорящее сообщество

2021 June 06

AS

Andrey Shuster in Emacs — русскоговорящее сообщество
а зачем нужна решетка в (add-hook ‘prog-mode-hook #’rainbow-delimiters-mode) ?
это в ридми самого пакета в таком виде.
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
ну и елиспе можно и без неё
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
в том же cl так передают что-то типо указателя на функцию
источник

AS

Andrey Shuster in Emacs — русскоговорящее сообщество
спасибо. а то раздражает. все остальные хуки без решеток.
источник

a

akater in Emacs — русскоговорящее сообщество
Я б сказал, что «указатель на функцию» это как раз символ f, а #'f это сама функция.
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
понятно
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
но почему тогда надо её через funcall вызывать, если это сама функция?
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
Потому что лисп2
источник

e

efim in Emacs — русскоговорящее сообщество
#' это quoting для функций
' это для любых символов

Указание #' помогает компилятору-интерпретатору сделать больше оптимизаций

+ Поищи в документации
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
Одно имя может быть переменной и функцией одновременно
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
Точнее, функции и переменные могут одинаково называться
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
а, точн
оно ж в разных лексических скоупах
источник

A ß in Emacs — русскоговорящее сообщество
точнее у символа есть два слота, symbol-function и symbol-value
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
источник

A ß in Emacs — русскоговорящее сообщество
на самом деле больше, потому что ещё есть проплист и что-то ещё
источник

A ß in Emacs — русскоговорящее сообщество
то есть в елиспе слотов 4
источник

A ß in Emacs — русскоговорящее сообщество
set/get для symbol-value, fset для symbol-function, put/get для проплиста
источник

a

akater in Emacs — русскоговорящее сообщество
Потому что первый элемент формы не вычисляется при вычислении формы.
источник

a

akater in Emacs — русскоговорящее сообщество
Интерпретатор делает оптимизации?

#' позволяет обратиться к определенному объекту с данным именем — к функции.  Больше ничего.  Иногда использование #' помогает сделать какие-то оптимизации, иногда мешает.
источник