问题标签 [cons]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
list - LISP:采用任意 s 表达式并递归地反转每个 cons 节点(节点的汽车和 cdr)
因此,在 lisp 中,列表是 cons 节点的集合,每个节点都有两个部分。节点的汽车和该节点的 cdr,我将如何反转每个 cons 节点?
ocaml - 这个 OCAML 函数有什么问题?
这是我的原始代码。
list - 构建带有非列表尾部的列表有什么意义?
Emacs lisp 手册中关于函数 nconc 的状态如下:
由于 nconc 的最后一个参数本身没有被修改,因此使用常量列表是合理的,例如 '(4 5),如上例所示。出于同样的原因,最后一个参数不必是列表
我确实可以写
但这会产生一个完全损坏的列表:
- 如何检索原始列表?
(reverse (cdr (reverse '(1 2 3 . 0))))
也不削减它。 - 在哪些情况下这是一个有用的模式?在标准发行版中有些功能在
minibuffer.el
使用它,特别是completion-all-completions
之类的。
c - 缺点功能不起作用
我目前正在尝试编写一个函数,该函数将在列表顶部添加一个新元素,并将列表的其余部分推回......有人可以帮我吗?当我尝试编译和运行它时,我的程序不起作用。它进入一个无限循环。有什么帮助吗?
list - 为什么 `(a) 被读取为列表,而 `(ab) 不是?
在学习clojure时,我很惊讶地发现这两个对象是不同的类型:
理论上,我理解为什么第二种形式返回 false,那个对象实际上是一个clojure.lang.Cons
. 但在实践中,我不明白为什么会这样。
为什么读者的阅读`(inc)
方式不同`(inc 1)
?引擎盖下发生了什么?
racket - 两个元素输出错误的结果
我需要从一个元素和一个列表创建一对
但是,当我(cons 2 (list 1 2 3))
得到时(2 (1 2 3))
,我想得到(2 . (1 2 3))
如何得到点?
scheme - Racket中多个值和普通元组之间的区别?
Racket 或 Scheme 中的values
and list
or有什么区别?cons
什么时候使用一个比另一个更好?例如,如果quotient/remainder
return(cons _ _)
而不是会有什么缺点(values _ _)
?
recursion - 方案递归/缺点
我在路的起点。我试图理解这cons
部分2-3个小时,但我遇到了麻烦。我无法理解这个缺点。它如何'a d'
根据结果组合?
当我输入这样的输入时:
我明白了(a d)
。
但我无法理解它是如何变成'a d'
的。
lisp - “缺点”在 Lisp 中是如何工作的?
我正在学习 Lisp,但我在 Lisp 编程方面没有经验。在我的部分学习中,我遇到了以下示例:
我想知道为什么当我们有(cons 'a '(ab))时响应是(AAB)以及为什么当我们稍微改变它并将'a放在(ab)之后时,响应是一个点列表,例如((AB ).A) ? 第一个代码行和第二个代码行有什么区别?这些代码背后发生了什么?
clojure - 为什么 Clojure 使用 cons 将字符串强制转换为字符
我在 REPL 中使用序列并遇到了以下行为,至少对我来说,这是非常不直观的。所以我评估了表达式(cons '("1" "2") "3")
,期望它产生(("1" "2") "3")
,但它产生了(("1" "2") \3)
。
有人可以解释为什么 Clojure在这种情况下会自动强制string
转换吗?character
我认为这与字符串作为字符序列的内部表示有关。