emacs lisp руководство

Oct 02 2020

Что означает этот текст в узле Simple Lambda Expression Exampleруководства Emacs 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)

Лямбда-выражение - это автомобиль всей формы.