web-dev-qa-db-ja.com

emacs / elisp:ハッシュ(ポンド、番号記号、オクトソープ)記号は何に使用されますか?

これは何をしますか?

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

...そしてそれは

(add-hook 'compilation-mode-hook 'my-setup-compile-mode)
95
Cheeso

違いはありません:

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

t

#lambda式の前で使用でき、バイトコンパイラに次の式をバイトコンパイルできることを示します。ドキュメントの Anonymous Functions を参照してください。ただし、シンボルの場合はコンパイルするものはありません。

一般に、これは 印刷表現 で左山括弧(<)とともに使用され、印刷されたオブジェクトが説明であることを示します(ただし、読み取ることはできません)。例えば:

#<buffer foo.txt>

また、読者が構造体で循環構造を表すためにも使用されます。 円形オブジェクトの構文の読み取り のドキュメントを参照してください。

そして、あなたはそれを 整数のベース を表すために使用します。 #x2c -> 44

さらに、私は確信しています。

93
Trey Jackson

包括的なリストは Emacs LISP参照インデックス の上部にあります。

Edit:Emacs自体から:

  • M-xinfo RET (情報ブラウザを開きます)

  • dmelisp RET (elispマニュアルを開く)

  • I# RET#インデックス内)

25
phils

mode-line-formatをハッキングしているときに見つけた何かでハッシュが何を意味しているかを検索しているときにこの質問を見つけました:

#("-%-" 0 3
  (help-echo "Display as tooltip when mouse hovers or with display-local-help."))

これは 文字列のテキストプロパティ に使用される形式です。

  • "-%-"、テキストをプロパティ化:1つのダッシュと %-construct の結果、「残りの部分を埋めるのに十分なダッシュ」モードライン」、有名なEmacs ------になります。
  • 0、テキストプロパティが適用される最初の文字。
  • 3、テキストプロパティが適用される最後の文字、、つまり"-%-"全体
  • (help-echo "...")、プロパティ、および引数としての文字列。

これは propertize function で作成できます:

(propertize "Hover over me!" 'help-echo '"congratulations!")

(insert (propertize "Hover over me!" 'help-echo '"Congratulations!"))

#("Hover over me!" 0 14 (help-echo "Congratulations!"))と同じになります:

Small example.

フォントロックモードを使用している場合、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))

したがって、次のようなものを作成できます。

Showing the corresponding propertize function for multiple properties.

23
Iceland_jack