作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以给我一个关于 car
和 cdr
的变体在Scheme中做什么的基本解释吗?
如果我是正确的,car
将返回列表中的第一项。 cdr
将返回一个不包括第一个元素的列表。
我对这些的其他变体感到困惑,更具体地说,例如 cadar
、caddr
、cddr
等。
假设我有一个随机示例:
define X '(a b (c d e))
(car X)
(cdr X)
(cadr X)
(cadar X)
(car X)
将产生 a
,(cdr X)
将产生 (b (c d e))
,cadr
将生成 b
。但我不知道如何推断 car
/cdr
的任何其他变体,例如 cadar
。
最佳答案
您可以通过解析这些函数的名称来推断其含义:
在第一个字母 ('c') 和最后一个字母 ('r') 之间,'a' 表示“the car of”,'d' 表示“the cdr of”。
所以:
cadr
是“cdr 的汽车”,cddr
是cdr的cdr,cadar
是“汽车的 cdr 的汽车”(因此参数必须是列表的列表),关于command - CAR、CDR、CADAR等解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13112436/
我是一名优秀的程序员,十分优秀!