list - elisp 如何将 lambda 应用于列表?

标签 list lambda lisp elisp apply

我正在尝试做的事情看起来很简单,而且任何错误都一定是一个非常愚蠢的错误,因为我找不到其他人遇到同样的错误。我只想将 lambda 应用于列表 - 这里的 lambda 并不是我真正想要做的,但它给出了同样的错误。

(apply
(lambda (arg)
  (+ 5 arg)
)
(list 2 3 4)
)

当我尝试运行它时,它告诉我我正在向 lambda 传递无效数量的参数。你有什么建议吗?

最佳答案

apply 调用该函数一次,将您作为参数给出的列表传递给它。我想你反而想使用 mapcar:

M-: (mapcar (lambda (arg) (+ 5 arg)) (list 2 3 4)) RET

将返回列表(7 8 9)

关于list - elisp 如何将 lambda 应用于列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50866351/

相关文章:

C++0x Lambda 到 VS 2010 中的函数指针

java 8 Collector<String, A, R> 不是函数式接口(interface),谁能告诉我为什么?

node.js - 如何将TVP中的缓冲区数据从node.js传递到lambda中的sql服务器?

scheme - 有在 Racket 中打印的想法吗?

error-handling - 如何访问:cause, :via and :trace keys of an exception in Clojure?

python - 将字典转换为另一个字典

python - 将 Python 列表转换为有序的唯一值

lisp - 使用 CUSP(Eclipse 插件)从 SBCL 中的相对路径加载另一个 lisp 文件

python - 如何将列表的第一项附加到该列表的所有排列的末尾?

foreach 中的 C# 语法不明确