gpt4 book ai didi

list - 在Scheme中列出函数

转载 作者:行者123 更新时间:2023-12-02 21:27:05 25 4
gpt4 key购买 nike

我想在Scheme中创建一个函数列表。我发现它会是这样的

(define (sqr x) (* x x))
(define (dbl x) (* 2 x))
(define (add-5 x) (+ 5 x))

(define list-of-funs '(sqr dbl add-5))

但我想知道如何从列表中调用单独的函数。有没有更好的方法来定义函数列表并单独调用它们?

最佳答案

是的,有更好的方法。您应该使用 list,而不是引用:

(define list-of-funs (list sqr dbl add-5))

原因是 '(sqr dbl add-5) 生成符号列表,而 (list sqr dbl add-5) 生成过程对象列表。您可以调用过程对象。您无法调用符号。

您可以单独访问这些函数,方法是使用 firstsecondthird(来自 SRFI 1)从列表,例如,

((first list-of-funs) 49)    ; => 7

否则您可能会决定要映射它们,或者其他什么。例如,

(define (square-double-and-add5 x)
(map (lambda (f) (f x)) list-of-funs))

关于list - 在Scheme中列出函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23325362/

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