1

您好我正在尝试编写一个函数,该函数将返回一个可变且可用作过程的表达式。

例如:

(fooeq 1 2)会回来(eq? 1 2)

((fooeq 1 2))会回来#f

有没有办法编写一个可以转换为过程的符号的表达式?

编辑:我明白了,谢谢你的回复。万一其他人想知道它是(eval p)。

4

1 回答 1

1

我猜你想fooeq评估一个函数:

> (define (fooeq a b)
    (lambda () (eq? a b)))

> ((fooeq 1 2))
#f
> ((fooeq 1 1))
#t
> 

将一个或多个函数作为输入或输出函数的函数称为高阶函数

于 2011-02-17T06:30:10.270 回答