คู่มือ emacs lisp

Oct 02 2020

ข้อความนี้หมายความว่าอย่างไรในโหนดSimple Lambda Expression Exampleของคู่มือ Emacs Lisp:

ดังที่แสดงในตัวอย่างเหล่านี้คุณสามารถใช้ฟอร์มที่มีนิพจน์แลมบ์ดาเป็นรถเพื่อสร้างตัวแปรโลคัลและให้ค่าได้ ในสมัยก่อนของ Lisp เทคนิคนี้เป็นวิธีเดียวในการผูกและเริ่มต้นตัวแปรท้องถิ่น แต่ในปัจจุบันการใช้รูปแบบพิเศษletเพื่อการนี้ชัดเจนขึ้น

การใช้letเป็นสิ่งที่ชัดเจนสำหรับฉัน แต่รถเกี่ยวอะไรกับเรื่องนี้?

คำตอบ

3 choroba Oct 02 2020 at 18:47

แอปพลิเคชันของนิพจน์แลมบ์ดาถูกใช้เพื่อเติมข้อมูลตัวแปรโลคัลในนิพจน์ดังนั้นตัวอย่างเช่นสิ่งที่คุณสามารถเขียนเป็น

(let ((x 12))
  (message (number-to-string (- (* 4 x) (/ x 2)))))

คุณเขียนเป็น

((lambda (x)
   (message (number-to-string (- (* 4 x) (/ x 2)))))
 12)

แลมบ์ดานิพจน์เป็นรถของรูปแบบทั้งหมด