`
阿尔萨斯
  • 浏览: 4184983 次
社区版块
存档分类
最新评论

ELisp编程五:解析器相关

 
阅读更多

Lisp解析器如何处理list?

如果这个list前面有单引号,就会直接将该list返回(不包含单引号);

如果没有单引号,则会将这个list的第一个元素作为函数名去查找,如果找到,则调用该函数,如果找不到则返回错误消息。

一般按照从左到右的顺序一个一个处理list中的元素

如果list内部有嵌套,解析器总是从最里层的那个开始处理。


如何求值?

求值的结果总是返回一个值,如果求值错误,也会返回错误信息

内部list的值被求出后,用于替换该list所在的位置,作为一个元素

如果对一个数字求值,将得到数字本身

如果对一个没有括号的符号(非数字)求值,解析器会认为是对一个变量求值

如果对一个有括号的,当然是对一个list求值啦。参考前面一节'...如何处理list'

C-x C-e的等价命令是:eval-last-sexp 求距离最近的一个symbol expression的值



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics