gpt4 book ai didi

lisp - 如何在 LISP 中调用 lambda 传递参数

转载 作者:太空宇宙 更新时间:2023-11-03 18:44:58 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How to pass a lambda expression in Elisp

我有以下代码:

(defun my-map (p l)
(mapcar (lambda (el) (p el)) l))

(defun test ()
(my-map (lambda (x) (+ x 1)) (list 1 2 3)))

(这是示例 - 不是我尝试编写的实际代码)。它提示找不到函数 p:

Debugger entered--Lisp error: (void-function p)
(p el)
(lambda (el) (p el))(1)
mapcar((lambda (el) (p el)) (1 2 3))
my-map((lambda (x) (x + 1)) (1 2 3))
test()
eval((test) nil)
eval-expression((test) nil)
call-interactively(eval-expression nil nil)
recursive-edit()
debug(error (void-variable test))
eval(test nil)
eval-expression(test nil)
call-interactively(eval-expression nil nil

我猜它会将 p 视为符号,而不是外部范围内的变量。如何让它发挥作用?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com