elisp 如何将 lambda 应用于列表?

Axl*_*693 2 lisp lambda elisp list apply

我试图做的事情似乎很简单,无论出现什么问题都一定是一个非常愚蠢的错误,因为我找不到其他人也犯同样的错误。我只想将 lambda 应用于列表 - 这里的 lambda 不是我真正想要做的,但它给出了相同的错误。

(apply
(lambda (arg)
  (+ 5 arg)
)
(list 2 3 4)
)
Run Code Online (Sandbox Code Playgroud)

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

Ste*_*fan 5

apply调用函数一次,将您提供的列表作为参数传递给它。我认为你想要使用mapcar

M-: (mapcar (lambda (arg) (+ 5 arg)) (list 2 3 4)) RET
Run Code Online (Sandbox Code Playgroud)

将返回列表(7 8 9)