- 论坛徽章:
- 0
|
原帖由 win_hate 于 2008-12-8 21:38 发表 ![]()
>> 这里的意思是说,把`(atom)`当作一个token看待
应该是把 `(atom `a) 当作一个表,所以 (atom `(atom `a)) 的结果才是 () 也就是 NIL
另一个我跑你的代码出错。你用的什么环境?
'(lambda (x) (co ...
先谢谢斑竹
1,这个例子我没运行,在论坛看了一些帖子,感觉挺有意思,所以,我今天第一次看lisp,看得实the roots of lisp
> ((lambda (f) (f '(b c)))
'(lambda (x) (cons 'a x)))
(a b c)
这段代码,是在the roots of lisp中拷贝下来的
2,在请教一下,另一个问题,以您刚才测试程序为例
[1]> ((lambda (f) (funcall f '(b c)))
(lambda (x) (cons 'a x)))
(A B C)
[2]>
the roots of lisp中说,对((lambda (p1 p2 ......pn)e)a1,a2......an)来说,先求ai的值,
在这个例子中来说,就是先求(lambda (x) (cons 'a x))的值,这个知怎么求阿?
我是把f替换成(lambda (x) (cons 'a x))来理解的,可是不明白为什么
3,`(atom `a) 当作一个表
请您说一下表的定义
在次谢谢你
[ 本帖最后由 xdshting 于 2008-12-8 22:47 编辑 ] |
|