欢迎学习LeeSp
我认为李称之为“运行时评估”。关键是第一次调用(LM:acdoc)时会发生什么。
以下是控制台上的一些观察结果:
- [s]_$ (defun printhello nil
- (eval (list 'defun 'printhello 'nil (print "Hello")))
- (printhello)
- )
- PRINTHELLO
- _$ (printhello)
- [color="red"]"Hello" "Hello"[/color] [color="green"]; !!![/color]
- _$ (printhello)
- [color="red"]"Hello"[/color] [color="green"]; now it exits cleanly?[/color]
- _$ (printhello)
- [color="red"]"Hello"[/color]
- _$ (printhello)
- [color="red"]"Hello"[/color][/s]
- [s]_$ (defun printhello nil
- (print "Hello")
- )
- PRINTHELLO
- _$ (printhello)
- [color="red"]"Hello" "Hello"[/color]
- _$ (printhello)
- [color="red"]"Hello" "Hello"[/color]
- _$ (printhello)
- [color="red"]"Hello" "Hello"[/color][/s]
除此之外,我的知识是有限的,所以如果有人解释他为什么使用这个会更好。 |