问题标签 [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 投票
1 回答
495 浏览

recursion - 如何实现一个懒惰的“减少地图”功能?

我正在尝试实现“减少地图”功能。也就是说,它应该返回一个序列,该序列由应用f到 的前 2 项的结果组成coll,然后是应用f到该结果的结果和 的第三项coll,依此类推。

例如,像这样调用这个函数:

应该返回:

(实际上,它可能也应该返回未修改的第一个项目,以更好地模仿map,但我可以稍后修复。)

对,现在,这就是它返回的内容:

我如何在(ny)seq 的末尾“推”?

如果我替换reduce-maprecur这就是它返回的内容:

我上面的代码中的真正递归和真正的递归有什么区别recur

而且,是否有一种内置的、更好的或更惯用的实现方式reduce-map

最后,我希望输出序列是惰性的。我只是把整个东西都包起来lazy-seq吗?

0 投票
4 回答
455 浏览

lisp - 如何在 lisp 中执行 ((AB).(CD))

我试图弄清楚如何使用缺点来做到这一点:

((A . B) . (C . D))

每个缺点单元格的位置(A . B)和位置(C . D)

我试过这样做,(cons (cons 'a 'b) (cons 'c 'd))但它给了我这个:

((A.B) C . D)

我也试过这个:(cons (cons 'a 'b) (cons (cons 'c 'd) ()))但它给了我这个:

((A . B) (C . D))

知道如何实现这一目标吗?

0 投票
4 回答
2227 浏览

java - 64 位操作系统上的 32 位或 64 位应用程序?

我们正在开发一个由 Java 编写的 Swing 应用程序,它只需要大约 128MB 内存,而且在不久的将来,我认为它不会需要更多像 4GB 这样的内存。以前,我们始终提供 3 种不同的版本,一种用于 32 位 Windows,一种用于 32 位 Linux,另一种用于 64 位 Linux,并带有包含 JRE 的安装程序。直到几周前,任何人都没有使用 64 位版本,并且报告了 OutOfMemoryException,因为该应用程序消耗的内存比 32 位版本多 40-50%。

我的问题是,如果应用程序永远不需要使用超过 4GB 的内存,我们是否需要为 64 位 Linux 提供 64 位版本?我们进行了一些快速测试,发现 32 位版本也适用于 64 位 Linux。但我不确定我们会有什么缺点,例如性能和/或兼容性问题?

0 投票
5 回答
2945 浏览

recursion - 方案列表操作(递归)

这里的基本问题是,当给定一个列表时,返回该列表中除最后一个元素之外的所有元素。例如,给定 (abcd) --> 返回 (abc)。我基本上有这个功能,它只是我遇到问题的 Scheme 语法,而且谷歌不是很友好。我不确定我是否正确使用了缺点。

熟悉 r5rs 方案语法的人会有所帮助。谢谢!

0 投票
4 回答
1994 浏览

lisp - Lisp 中的内存分配

Lisp 环境只需要分配一个 cons 单元来连接这两个项目。

以上来自 Lisp 书籍“Land of Lisp”。我不明白为什么这对只位于一个缺点单元格中。这些数据的内存是什么样的?

0 投票
5 回答
892 浏览

lisp - Lisp,缺点和(数字。数字)的区别

和有什么区别

在 Lisp 中?

0 投票
3 回答
67 浏览

scheme - 删除双打功能(方案)

这是我制作的代码。它用于删除列表中的元素,当该元素彼此出现两次或更多次时。代码工作得很好,除此之外:

我想删除.,我知道它与 有关系cons,但我不知道如何解决它。

提前致谢。

0 投票
6 回答
8280 浏览

python - python中的LISP缺点

cons在 Python 中是否有等价物?(任何高于 2.5 的版本)

如果是这样,它是内置的吗?还是我需要easy_install一个模块?

0 投票
1 回答
339 浏览

list - Erlang:哪种模式匹配更有效(列表)?

我正在阅读“Pragmatic Programming Erlang”,其中定义了一个函数,如下所示:

我感兴趣的是第一次匹配,即"\r\n\r\n" ++ T- 这种模式与我想出的类似模式之间是否存在性能差异:[13,10,13,10|T]?或者它们是等价的吗?

我知道这是一个非常简单的问题,我可以(可能)自己检查,但如果有区别,我想知道为什么会这样。

谢谢!

0 投票
3 回答
239 浏览

scheme - 诸如 (set!c (cons 3 c)) 之类的表达式是向列表中添加项目的方式吗?

方案有定车!和 set-cdr!,但没有设置缺点!.

是表达式如

(设置!c(缺点 3 c))

哪个将元素 3 放在列表 c 上,修改列表的正确/唯一/最佳/通常方式?