问题标签 [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.
recursion - 如何实现一个懒惰的“减少地图”功能?
我正在尝试实现“减少地图”功能。也就是说,它应该返回一个序列,该序列由应用f
到 的前 2 项的结果组成coll
,然后是应用f
到该结果的结果和 的第三项coll
,依此类推。
例如,像这样调用这个函数:
应该返回:
(实际上,它可能也应该返回未修改的第一个项目,以更好地模仿map
,但我可以稍后修复。)
对,现在,这就是它返回的内容:
我如何在(ny)seq 的末尾“推”?
如果我替换reduce-map
,recur
这就是它返回的内容:
我上面的代码中的真正递归和真正的递归有什么区别recur
?
而且,是否有一种内置的、更好的或更惯用的实现方式reduce-map
?
最后,我希望输出序列是惰性的。我只是把整个东西都包起来lazy-seq
吗?
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))
知道如何实现这一目标吗?
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。但我不确定我们会有什么缺点,例如性能和/或兼容性问题?
recursion - 方案列表操作(递归)
这里的基本问题是,当给定一个列表时,返回该列表中除最后一个元素之外的所有元素。例如,给定 (abcd) --> 返回 (abc)。我基本上有这个功能,它只是我遇到问题的 Scheme 语法,而且谷歌不是很友好。我不确定我是否正确使用了缺点。
熟悉 r5rs 方案语法的人会有所帮助。谢谢!
lisp - Lisp 中的内存分配
Lisp 环境只需要分配一个 cons 单元来连接这两个项目。
以上来自 Lisp 书籍“Land of Lisp”。我不明白为什么这对只位于一个缺点单元格中。这些数据的内存是什么样的?
lisp - Lisp,缺点和(数字。数字)的区别
和有什么区别
和
在 Lisp 中?
scheme - 删除双打功能(方案)
这是我制作的代码。它用于删除列表中的元素,当该元素彼此出现两次或更多次时。代码工作得很好,除此之外:
我想删除.
,我知道它与 有关系cons
,但我不知道如何解决它。
提前致谢。
python - python中的LISP缺点
cons
在 Python 中是否有等价物?(任何高于 2.5 的版本)
如果是这样,它是内置的吗?还是我需要easy_install
一个模块?
list - Erlang:哪种模式匹配更有效(列表)?
我正在阅读“Pragmatic Programming Erlang”,其中定义了一个函数,如下所示:
我感兴趣的是第一次匹配,即"\r\n\r\n" ++ T
- 这种模式与我想出的类似模式之间是否存在性能差异:[13,10,13,10|T]
?或者它们是等价的吗?
我知道这是一个非常简单的问题,我可以(可能)自己检查,但如果有区别,我想知道为什么会这样。
谢谢!
scheme - 诸如 (set!c (cons 3 c)) 之类的表达式是向列表中添加项目的方式吗?
方案有定车!和 set-cdr!,但没有设置缺点!.
是表达式如
(设置!c(缺点 3 c))
哪个将元素 3 放在列表 c 上,修改列表的正确/唯一/最佳/通常方式?