Bu ne yapar?
(add-hook 'compilation-mode-hook #'my-setup-compile-mode)
... ve bundan farklı mı
(add-hook 'compilation-mode-hook 'my-setup-compile-mode)
Yanıtlar:
Fark yok:
(eq 'my-add #'my-add)
verim t
#
Bir önünde kullanılabilecek lambda
aşağıdaki ifade bayt derlenmiş olabileceğini bayt derleyici belirten ifade, için dokümanlar bakınız Anonim Fonksiyonlar . Ancak bir sembol durumunda derlenecek hiçbir şey yok.
Genel olarak, yazdırılan nesnenin bir açıklama olduğunu (ancak okunamayacağını) belirtmek için sol açılı parantez (<) ile birlikte basılı sunumda kullanılır . Örneğin:
#<buffer foo.txt>
Ayrıca okuyucu tarafından dairesel yapıları temsil etmek için yapılarda kullanılır. Dairesel Nesneler için Okuma Sözdizimi belgelerine bakın .
Ve sonra tamsayıların tabanını belirtmek için kullanımına sahipsiniz , örneğin #x2c -> 44
.
Artı daha çok eminim.
'symbol
temsil (quote symbol)
ve #'symbol
temsil ettiğinden bahsedin (function symbol)
.
Kapsamlı olması gereken liste Emacs lisp referans indeksinin en üstünde bulunabilir .
Düzenleme : Ya da daha uygun bir şekilde, Emacs'in kendi içinden:
M-x info
RET (bilgi tarayıcısını açın)
d m elisp
RET (elisp kılavuzunu açın)
I #
RET(için girişleri #
dizinde listeleyin )
Hack yaparken bulduğum bir şeyde hash'in ne anlama geldiğini ararken bu soruyu buldum mode-line-format
:
#("-%-" 0 3
(help-echo "Display as tooltip when mouse hovers or with display-local-help."))
Bu, dizelerdeki metin özellikleri için kullanılan bir formattır , burada:
"-%-"
, uygun hale getirilecek metin: bir çizgi ve bir % -yapısı , "mod satırının geri kalanını doldurmaya yetecek çizgilerle" sonuçlanır ve ünlü Emacs ile sonuçlanır ------
.0
, metin özelliklerinin uygulandığı ilk karakter.3
, metin özelliklerinin geçerli olduğu son karakter, yani tümü "-%-"
.(help-echo "...")
, bir özellik ve argüman olarak bir dize.Bu, şu propertize
işlevle oluşturulabilir :
(propertize "Hover over me!" 'help-echo '"congratulations!")
şununla aynı olacaktır #("Hover over me!" 0 14 (help-echo "Congratulations!"))
:
Yazı tipi kilidi modunu kullanıyorsanız, buffer-substring
komutu kullanmak şuna benzer bir şey üretebilir:
(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))
Böylece şöyle bir şey yaratabilirsiniz:
#
yalnız bir sembole başvurmanın iyi bir nedeni, o sembol tanımlanmamışsa derleme zamanında tanı almaktır.