ถาม:เมื่อใดถ้าเคยจะมีประโยชน์กับการเสนอราคาที่คมชัดlambdaและถ้าเป็นไปไม่ได้เราจะไม่เสนอราคาที่คมชัดเมื่อlambdaใด
คนใช้lambdas ในสามวิธี:
- ธรรมดา:
(lambda (x) x) - ที่ยกมา:
'(lambda (x) x) - คมชัดที่ยกมา:
#'(lambda (x) x)
เธรด SO นี้กล่าวถึงสามประเภทเธรด SO นี้อธิบายถึงสาเหตุที่ไม่อ้างถึง (NB: not -quote quote ) lambdas และเธรด SOนี้ยังกล่าวถึงความแตกต่างระหว่างการอ้างถึงและการอ้างอิงที่คมชัด
ตอนนี้โหนดแบบแมนนวลในฟังก์ชั่นที่ไม่ระบุชื่อและ docstring เพื่อlambdaทราบว่าlambdaเป็นข้อความที่อ้างถึง:
การเรียกแบบฟอร์ม
(lambda ARGS DOCSTRING INTERACTIVE BODY)เป็นการอ้างตนเอง ผลของการประเมินแลมบ์ดาแสดงออกคือการแสดงออกของตัวเอง แลมบ์ดานิพจน์นั้นอาจถูกมองว่าเป็นฟังก์ชัน ...
ดังนั้นจึงปรากฏว่า(lambda (x) x)และ#'(lambda (x) x)เทียบเท่า แต่'(lambda (x) x)ไม่ใช่ (ที่สำคัญที่สุดคือเมื่อรวบรวมไบต์)
ดูเหมือนว่าจะไม่ค่อยต้องการอ้างถึงlambdaแต่ก็ไม่ชัดเจนสำหรับฉันเมื่อใดก็ตามที่เราควรหรือไม่ควรจะพูดคมชัด:
- การอ้างความคมชัดเป็น
lambdaเพียงตัวเลือกโวหารหรือมีสถานการณ์ที่การอ้างอิงที่คมชัดนั้นมีประโยชน์จริงหรือไม่? - มีสถานการณ์ใดบ้างที่เราจะต้องไม่อ้างคำพูดที่แหลมคมก
lambda. นั่นคือเมื่อทำเช่นนั้นจะเปลี่ยนความหมายของรหัสหรือไม่?