回答:
違いはありません:
(eq 'my-add #'my-add)
収量 t
を式の#
前で使用しlambda
て、次の式をバイトコンパイルできることをバイトコンパイラに示すことができます。匿名関数のドキュメントを参照してください。ただし、シンボルの場合はコンパイルするものはありません。
一般に、印刷されたオブジェクトが説明であることを示すために、左の山かっこ(<)と共に印刷表現で使用されます(ただし、読み取ることはできません)。例えば:
#<buffer foo.txt>
また、読者が構造体で循環構造を表すためにも使用されます。円形オブジェクトの読み取り構文のドキュメントを参照してください。
そして、あなたは整数の底を示すためにそれを使用します、例えば#x2c -> 44
。
さらに、私は確信しています。
'symbol
表され(quote symbol)
、構文的に#'symbol
表されることにまだ言及しているかもしれません(function symbol)
。
包括的なリストは、Emacs lispリファレンスインデックスの上部にあります。
編集:または、さらに便利なことに、Emacs自体から:
M-x info
RET (情報ブラウザを開きます)
d m elisp
RET (elispマニュアルを開く)
I #
RET(#
インデックスのエントリをリストします)
ハッキング中に見つけたもののハッシュの意味を検索しているときに、この質問を見つけましたmode-line-format
:
#("-%-" 0 3
(help-echo "Display as tooltip when mouse hovers or with display-local-help."))
これは、文字列のテキストプロパティに使用される形式です。
"-%-"
、テキストをプロパティ化する:1つのダッシュと%-構文により、「モード行の残りの部分を埋めるのに十分なダッシュ」が得られ、有名な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))
したがって、次のようなものを作成できます。
#
、単独のシンボルに適用する理由の1つは、そのシンボルが定義されていない場合にコンパイル時に診断を取得することです。