新问题dotted list?
书上说
(a b . (c d))等同于(a b c d)
注意前面的list中有一个点,能不能给出一张图,来描绘(a b . (c d))的样子,我感觉他们两个的图示应该不一样啊
我知道,对于(a b c d)应该是a->b->c->d->nil
谢谢
[ 本帖最后由 xdshting 于 2009-9-8 23:25 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,正是您画的这张图。
谢谢老大了
我是这么想的,把(c d)看成是一个单元,包含b的那个cons的第二个指针,即cdr,指向他
如图
我感觉这样不如您那样自然,好理解,也不知道我这种理解对吗?
[ 本帖最后由 xdshting 于 2009-9-9 21:34 编辑 ]
Screenshot.png (4.7 KB, 下载次数: 8)
下载附件
2009-09-09 14:59 上传
(A B . (C D)) is (cons 'A (cons 'B '(C D))) = (cons 'A (cons 'B (cons 'C (cons 'D NIL)))) = (A B C D)
[ 本帖最后由 win_hate 于 2009-9-9 15:00 编辑 ]