Réponses:
Il n'y a pas de différence:
(eq 'my-add #'my-add)
rendements t
Le #
peut être utilisé devant une lambda
expression indiquant au compilateur d'octets que l'expression suivante peut être compilée en octets, consultez la documentation sur les fonctions anonymes . Mais il n'y a rien à compiler dans le cas d'un symbole.
En général, il est utilisé dans la représentation imprimée avec le crochet angulaire gauche (<) pour indiquer que l'objet imprimé est une description (mais ne peut pas être lu). Par exemple:
#<buffer foo.txt>
Il est également utilisé dans les constructions par le lecteur pour représenter des structures circulaires. Consultez la documentation relative à la syntaxe de lecture des objets circulaires .
Et puis vous avez son utilisation pour désigner la base des nombres entiers , par exemple #x2c -> 44
.
De plus, j'en suis sûr.
'symbol
représente (quote symbol)
et #'symbol
représente (function symbol)
syntaxiquement.
La liste devrait être complète se trouve en haut de l' index de référence Emacs lisp .
Edit : Ou encore plus commodément, depuis Emacs lui-même:
M-x info
RET (ouvrez le navigateur d'informations)
d m elisp
RET (ouvrir le manuel elisp)
I #
RET(lister les entrées pour #
dans l'index)
J'ai trouvé cette question en cherchant ce que le hachage signifiait dans quelque chose que j'ai trouvé lors du piratage mode-line-format
:
#("-%-" 0 3
(help-echo "Display as tooltip when mouse hovers or with display-local-help."))
qui est un format utilisé pour les propriétés de texte dans les chaînes où:
"-%-"
, texte à posséder: un tiret et une % -construct qui se traduit par "des tirets suffisants pour remplir le reste de la ligne de mode", aboutissant au fameux Emacs ------
.0
, le premier caractère auquel s'appliquent les propriétés de texte.3
, le dernier caractère sur lequel s'appliquent les propriétés du texte, c'est -à- dire le tout "-%-"
.(help-echo "...")
, une propriété et une chaîne comme argument.Cela peut être créé avec la propertize
fonction :
(propertize "Hover over me!" 'help-echo '"congratulations!")
serait le même que #("Hover over me!" 0 14 (help-echo "Congratulations!"))
:
Si vous utilisez le mode de verrouillage de police, l'utilisation de la buffer-substring
commande peut produire quelque chose comme ceci:
(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))
Vous pouvez donc créer quelque chose comme:
#
à un symbole isolé est d'obtenir des diagnostics au moment de la compilation si ce symbole n'est pas défini.