Saya sedikit baru untuk Emacs. Ketika melihat beberapa konfigurasi, saya menemukan ada dua jenis perintah di "add-hook".
(add-hook 'LaTeX-mode-hook #'LaTeX-math-mode)
dan
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
Ini telah membingungkan saya sejak lama dan saya tidak tahu cara mencari "# '" di google ...
Terima kasih.
Jawaban:
Dalam Emacs Lisp, if
foo
adalah simbol, maka'foo
dan#'foo
sepenuhnya sama. Bentuk terakhir (dengan#'
) lebih disukai ketikafoo
suatu fungsi, karena mendokumentasikan fakta bahwa ia dimaksudkan untuk berfungsi.Oleh karena itu dua bentuk Anda sepenuhnya sama, dan yang satu
#'
lebih disukai.Sunting : seperti yang ditunjukkan oleh Malabarba, ini tidak sepenuhnya benar:
#'
pada simbol akan menyebabkan byte-compiler mengeluarkan peringatan jika fungsi tidak didefinisikan.(Perhatikan bahwa ini bukan kasus untuk lambda-bentuk, yang polos
'
mencegah byte-compiler dari mengkompilasi bentuk lambda, seperti yang didokumentasikan di tempat lain . Perhatikan lebih lanjut bahwa ini juga tidak harus terjadi dalam dialek Lisp lain, misalnya dalam Lisp umum#'foo
melakukan pengikatan awal.)sumber
#'
perintahkan kompiler untuk mengkompilasi lambda, sebagai lawan dari kutipan polos, yang tidak. Saya telah memformulasikannya kembali dengan cara yang lebih mudah.