T: Kapan, jika pernah, berguna untuk mengutip dengan tajam lambda
, dan kapan, haruskah kita tidak mengutip dengan tajam lambda
?
Orang menggunakan lambda
s dalam tiga cara:
- polos:
(lambda (x) x)
- dikutip:
'(lambda (x) x)
- dikutip tajam:
#'(lambda (x) x)
Utas SO ini membahas tiga jenis, utas SO ini menjelaskan mengapa tidak mengutip (NB: bukan kutipan tajam ) lambda
, dan utas SO ini juga membahas perbedaan antara kutipan dan kutipan tajam.
Sekarang, simpul manual pada fungsi anonim dan dokumentasi untuk lambda
catatan bahwa lambda
s adalah kutipan sendiri:
Panggilan formulir
(lambda ARGS DOCSTRING INTERACTIVE BODY)
mengutip diri sendiri; hasil mengevaluasi ekspresi lambda adalah ekspresi itu sendiri. Ekspresi lambda kemudian dapat diperlakukan sebagai fungsi ...
Jadi, tampaknya itu (lambda (x) x)
dan #'(lambda (x) x)
setara, tetapi '(lambda (x) x)
tidak (yang paling penting, ketika byte-compiling).
Sepertinya satu jarang ingin mengutip sebuah lambda
, tetapi tidak jelas bagi saya ketika, jika pernah, kita harus, atau tidak harus, tajam-quote:
- Apakah mengutip dengan tajam
lambda
hanyalah pilihan gaya, atau adakah situasi di mana kutipan tajam itu bermanfaat? - Apakah ada keadaan di mana kita tidak boleh mengutip dengan tajam a
lambda
, yaitu, ketika melakukan itu akan mengubah makna kode?