作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Lisp 社区中最大的分歧之一是我们是否应该有 car
和 cdr
或 first
和 rest
.传统的好处之一car
和 cdr
是我们可以将它们组合起来产生类似 cdaddr
的可发音函数.不使用的 Lisps 怎么办 car
和 cdr
,例如 Clojure,通常与 first
形成这样的组合和 rest
?有没有共识?
最佳答案
无论如何,Clojure 根本不需要 caddaadr 和 friend ,因为没有人只用 cons 单元构建数据结构。该语言确实有 first
和 next
中任意两个的组合,命名为 ffirst
、fnext
、nnext
和 nfirst
,我想这是很早就添加的,因为我们假设我们想要像 cadr 这样的东西,但我从未见过它们在现实生活中使用。相反,经常使用解构。
在极少数情况下,您需要深入了解由嵌套序列构建的结构,解构通常仍会生成可读代码,而且手写代码也不是什么大负担。这也是对您的一个很好的提示,也许您应该对事物进行更多抽象,而不是直接使用这么多层的原始组合器。
关于list - 喜欢 first 和 rest 而不是 car 和 cdr 的 lisp 如何接近像 cdaddr 这样的组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65969462/
Lisp 社区中最大的分歧之一是我们是否应该有 car和 cdr或 first和 rest .传统的好处之一car和 cdr是我们可以将它们组合起来产生类似 cdaddr 的可发音函数.不使用的 Li
我是一名优秀的程序员,十分优秀!