Co to robi?
(add-hook 'compilation-mode-hook #'my-setup-compile-mode)
... i czy jest inny niż
(add-hook 'compilation-mode-hook 'my-setup-compile-mode)
Odpowiedzi:
Nie ma różnicy:
(eq 'my-add #'my-add)
plony t
#
Mogą być stosowane przed lambda
wyrażeniem wskazującym na bajt kompilatora, że poniższe wyrażenie może być bajt skompilowany, zobacz docs dla Anonimowych funkcji . Ale w przypadku symbolu nie ma nic do kompilacji.
Na ogół jest używany w drukowanej reprezentacji wraz z lewym nawiasem ostrym (<), aby wskazać, że drukowany obiekt jest opisem (ale nie można go odczytać). Na przykład:
#<buffer foo.txt>
Jest również używany w konstrukcjach przez czytelnika do reprezentowania struktur kołowych. Zobacz dokumentację dotyczącą składni odczytu dla obiektów kołowych .
A potem masz jego zastosowanie do oznaczania podstawy liczb całkowitych , np #x2c -> 44
.
Na pewno więcej.
'symbol
reprezentuje (quote symbol)
i #'symbol
reprezentuje (function symbol)
składniowo.
Lista, która powinna być wyczerpująca, znajduje się na górze indeksu referencyjnego Emacs lisp .
Edycja : Lub jeszcze wygodniej, z poziomu samego Emacsa:
M-x info
RET (otwórz przeglądarkę informacji)
d m elisp
RET (otwórz instrukcję elisp)
I #
RET(wymień wpisy #
w indeksie)
Znalazłem to pytanie, szukając, co oznacza skrót w czymś, co znalazłem podczas hakowania mode-line-format
:
#("-%-" 0 3
(help-echo "Display as tooltip when mouse hovers or with display-local-help."))
który jest formatem używanym do właściwości tekstu w ciągach, gdzie:
"-%-"
, tekst, który ma być propertized: jeden myślnik i konstrukcja%, która daje "kreski wystarczające do wypełnienia pozostałej części linii trybu", co daje słynny Emacs ------
.0
, pierwszy znak, do którego mają zastosowanie właściwości tekstu.3
, ostatni znak, do którego mają zastosowanie właściwości tekstu, czyli cały "-%-"
.(help-echo "...")
, właściwość i ciąg znaków jako argument.Można to utworzyć za pomocą propertize
funkcji :
(propertize "Hover over me!" 'help-echo '"congratulations!")
byłby taki sam jak #("Hover over me!" 0 14 (help-echo "Congratulations!"))
:
Jeśli używasz trybu blokady czcionek, użycie buffer-substring
polecenia może wywołać coś takiego:
(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))
Możesz więc stworzyć coś takiego:
#
pojedynczego symbolu jest uzyskanie diagnostyki w czasie kompilacji, jeśli ten symbol jest niezdefiniowany.