问题标签 [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 - 在 Scheme 中的两个元素列表的末尾添加一个符号
到目前为止我有
我知道 caadr 是错误的,因为它不存在于两个元素列表中。但我不知道如何在列表末尾添加符号。
ocaml - OCaml 缺点 (::) 运算符?
在 OCaml 中,有没有办法自己引用 cons 运算符?
例如,我可以将(+)
and( * )
用作int -> int -> int
函数,但不能(::)
用作'a -> 'a list -> 'a list
函数,如下例所示:
有没有办法产生像(::)
with 以外的结果fun x y -> x::y
?有谁知道为什么(::)
没有在 OCaml 中实现?
scheme - 方案阶乘
我知道你可以这样写一个简单的阶乘函数:
但是,这只有在您发送号码时才有效;如果您发送列表或符号,它将出错。所以我想做的是让它适用于所有事情,如果是列表,则对列表中的每个单独元素进行阶乘。这是我所拥有的:
我不太擅长 Scheme,但我需要能够了解基础知识。除列表外,每个输入都正常工作。
1
(listFact 'a)
'一种
(清单事实 4)
24
(listFact '(1 2 3))
缺点:第二个参数必须是一个列表,但收到 6 和 1
我想要最后一个做的是返回:
(清单 1 2 6)
我不知道为什么它不起作用。如果有人能在不改变整个代码结构的情况下帮助我解决这个问题(即不使用应用/映射或多个函数),将不胜感激。我认为唯一搞砸的线路是有缺点的线路。
谢谢。
list - (cons?list-name) 有什么作用?
我想知道是什么(cons? list-name)
。它只是检查list-name
不是非空列表吗?是不是正好相反(empty? list-name)
?(empty? list-name)
如果是这样,那么说然后说else
而不是说不是更好cons?
吗?例如:
macros - 在 clojure 语言中 <'a> 到底是什么
实际上,我正在尝试完全理解 clojure,尤其是符号
我知道这type
是一个函数,所以它的参数首先被评估,所以我完全理解为什么上面的代码会这样工作。在流动的代码中,我决定使用宏来延迟评估
我对此很好,但我无法理解的是:
为什么'a的类型是缺点
emacs - Emacs Lisp 共享结构和共享链接
考虑缺点x1
:
或以列表表示法:
和缺点x2
,建立在x1
:
cons
help (在 Emacs 中)说该函数创建一个新的 cons,给它参数,'A
和(cdr x1)
, 作为组件并返回它。其中没有任何内容表明新返回的 cons 的生命周期将与其生成组件的生命周期相关联。
无论如何,如果有人修改了副本,x2
那么原始的缺点也会(a . (b c))
被修改:
其他函数示例可以显示 和 之间的x1
联系x2
。
我从 Emacs Lisp 参考手册中的文档中获取了这个示例setcar
,其中指出“cons 单元是共享结构的一部分”,并且 cdrx1
和x2
被称为“共享链接” x1
,x2
并且以图形方式显示为(稍微改编):
这让人想起 C 指针,因为 cdrx2
不是副本,而是“指向” 的 cdr x1
。很清楚,但我想知道这种情况何时实际出现,也就是说,我怎么知道一个 cons 的(一个元素)是指向另一个 cons 还是一个自活的副本?更一般地说,共享结构和共享链接 的正式定义是什么(在哪里)?
在 Emacs Lisp 参考手册中没有明确提及它们。事实上,在其索引中搜索“共享”或“链接”只会返回(不包括文件/网络链接)对“共享结构,读取语法”的间接引用,处理它们的表示,而不是它们是什么。
好奇地在 PDF 中搜索“共享”土地,作为第一次出现,到“读取圆形对象的语法”部分,从“表示共享或圆形结构......”开始。不幸的是,之前没有提到共享和循环(结构)这两个词!下一个事件是提到的setcar
文档。
所以在 Lisp/Elisp 中似乎有隐含的指针,但没有人愿意告诉他们。))
list - 如何在方案中不返回任何内容
我对 Scheme 中分配的编程任务有一个小问题。我们的任务是创建一个函数,该函数仅返回满足给定谓词要求的对结构中的值。它们也将以相同的对结构返回,只需删除违规条目即可。到目前为止,我的代码如下
问题是 else 返回 null 并因此将值替换为 null 而不是删除它。
例如
返回
而不是想要的
朝正确方向戳将不胜感激
scheme - Scheme Cons(以#f 作为第二条语句)输出
我在想,如果
给出一个输出
那么这会给出什么输出:
?
谢谢
list - Scheme cons 不会接受两个数字参数
我见过很多 cons 将两个数字作为参数的实例,并且有人告诉我在实验室中将两个数字作为参数传递给 cons,但是每当我这样做时,都会出现以下错误:
如果我执行以下操作,我会收到相同的错误:
我对 Scheme 很陌生,我不明白为什么会这样。
python - 如何创建一个独特的对象?
我想
用什么来代替???
确保assert
永不失败?
(使用 Lisp,我可以使用in 进行创建_my_unique
和(cons nil nil)
使用)。eq
assert
PS。用例:我将放入_my_unique
a dict
,因此我希望它与自身相等,但我不希望它与dict
从外部传入的任何东西相等(在碰撞意义上)。