简体   繁体   中英

let over lambda doesn't seem to work in elisp

In Common Lisp this sort of thing works fine

(let ((x 7))
  (defun g (y) (* y x)))

(g 16)

In elisp this errors saying x is not defined as if the lexical closure did not happen. This is something I have not encountered in other lisps. What is happening with this?

Ah, I see. It works after

(setq lexical-binding t)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM