因此,我一直在学校学习计划,并遇到了使用car和cdr系列的情况,这对我来说是不太合理的。
因此给出了一个列表:(define x '(1 2 3 4 5))
为什么(caddddr x)向我吐错误,而(cddddr x)返回(5),(car (cddddr x))返回5。
(caddddr x)和(car (cddddr x))不一样吗?
发布于 2015-12-14 20:10:13
您只能在其中放置几个a和d :-)检查文档,在初始的c和最终的r之间,在a和d的任何组合中都可以有1到4个字符。如果需要访问其他特定的元素,请考虑使用list-ref,它根据列表中基于零的索引返回一个元素:
(define x '(1 2 3 4 5))
(list-ref x 4)
=> 5发布于 2015-12-14 20:10:09
因为该方案的定义达到了(cddddr pair),而不是超出了范围。用car和cdr规范以及朋友的话说:“提供了任意的组合,最多有四个深度。”见(例如):
http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-14.html#node_idx_620正如在其他地方所指出的,在这种情况下,列表-参考文献可能是您想要的。
https://stackoverflow.com/questions/34275536
复制相似问题