问题标签 [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.

0 投票
3 回答
1269 浏览

python - Python中的正确列表和递归尾部

在各种 Lisps 中,正确的列表nil(空值)或cons单元格,其中第一个(head,first,car)值指向一个值,第二个(tail,rest,cdr)指向另一个正确的列表。其他各种函数式编程语言都实现了这种头尾功能,包括 Erlang 和 Scala。在 Common Lisp 和 Emacs Lisp 中,您可以无限递归地找到列表的尾部:

它会产生nil。我想在 Python 中模拟这种行为。当然,为了性能,我最好坚持使用经过大量优化的本机数据类型,所以这只是为了练习。我的代码是:

但是,现在调用tail会进入递归并导致最大递归深度错误。我怎样才能使如下表达式成为可能?换句话说,我如何在 Python 中创建适当列表的功能?

相关问题,但没有回答我的问题:LISP cons in python

0 投票
2 回答
245 浏览

lisp - “小阴谋家”中的利弊结果

在第 178 页,有一个问题:

在哪里

书中的答案是

但我认为答案应该是

为什么我错了?

0 投票
2 回答
201 浏览

list - 在lisp中获取未列出缺点的值

我在 scheme(lisp) 中创建了一个函数,在该函数中我需要用它反转一个列表,如下所示:

考虑我有这个列表'(0 1 2),所需的输出将是:

但我得到:

是否有任何函数返回列表的值,而不是列表本身?

0 投票
2 回答
863 浏览

scheme - 我怎样才能消除缺点的副作用?

我可以使用以下代码获取列表的奇数元素:

但是当输入奇数长度的列表例如: (odds '(abcde)) 它将返回 (ac . e)

我怎样才能摆脱这个令人讨厌的时期?

0 投票
1 回答
369 浏览

list - 麻省理工学院方案表达式附加的替代形式

我目前正试图在练习中期解决一个问题。该问题要求我编写一个表达式来附加两个列表(我们称它们为 list1 和 list2),并且 list2 必须附加到 list1 的末尾。函数 append 在此的任何时候都不能使用。我可能使用的是consfilteraccumulatemap、list-ref 和 inumerate-interval。我尝试了各种形式的解决方案,例如

我花了 2 天时间试图找到一个无济于事的解决方案。如果有人能够指导我朝着正确的方向前进,甚至可以为我提供某种形式的帮助,我将不胜感激。

另外,如果我在代码格式或提问时的举止方面没有正确遵循某些协议,我深表歉意,因为我是该网站的新手。谢谢你。

0 投票
1 回答
266 浏览

scheme - 高阶过程 - 对构造(cons, car, cdr)

我需要在 Scheme 中创建这个程序:my-cons、my-car、my-cdr。

它应该像这样工作:

(定义 p1(我的缺点 3 8))

(p1 #t)

3

(p1 #f)

8

(我的车 p1)

3

(my-cdr p1)

8

现在,我只有这个:

(定义我的缺点

(λ (xy)

(缺点 xy)

(让 ((a (汽车 (cons xy)))))

但在这段代码中,我不能在定义的 p1 上应用 my-cons 或 my-cdr 有人可以帮我吗?

0 投票
3 回答
70 浏览

list - 关于 Prolog 统一的愚蠢细节查询

在 Prolog 中:

B 显示为 [_G1091] 表明它是一个未实例化的变量。但是,如果我稍微改变...

突然之间,它对向我展示 B 未实例化但仍然是一个准备好与任何东西统一的变量不感兴趣.. 怎么会?(有时我喜欢关注奇怪的细节:)

0 投票
2 回答
178 浏览

scheme - 方案缺点和长度

我正在研究方案,我刚刚遇到了我的第一个问题:

为什么输出是 3 而不是 2?我已显示 x

为什么是这样而不是((1 2) . (3 4))

谢谢。

0 投票
1 回答
1380 浏览

scheme - 关于 Scheme 的缺点和点表示法

给定

当我们尝试

什么决定了在哪里.使用?这些构造的内存表示是什么?

0 投票
1 回答
609 浏览

list - OCaml 解析列表

我想在我的我的解析器的一部分

我有这个更进一步。

但我不确定如何让它读取“[”和“]”之间的列表,因为它的末尾有一个“::[]”。有任何想法吗?