gpt4 book ai didi

functional-programming - 函数列表

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

有没有办法制作一个包含函数的列表?我想做的是,列出一些算术运算符 (+ - */) 以便我可以轻松地操纵它们的顺序并将它们应用于数字列表。

所以,如果我有那个列表,我会像这样使用它:

(apply (map (lambda (x)
x)
'(+ - * /))
'(1 2 3 4))

我是一个新手程序员,所以如果有更好的方法来做这样的操作,非常感谢你的建议。

最佳答案

列表是用函数 LIST 创建的。

(list 1 2 3)

(list + - * /)

应用符号列表没有意义:

(apply (map (lambda (x) x) '(+ - * /)) '(1 2 3 4))

会是(应用函数列表仍然没有意义):

(apply (map (lambda (x) x) (list + - * /)) '(1 2 3 4))

简化(仍然错误):

(apply (list + - * /) '(1 2 3 4))

但是,也许你想要这个:

(map (lambda (f)
(apply f '(1 2 3 4)))
(list + - * /))

在普通 Lisp 中:

(mapcar #'(lambda (f)
(apply f '(1 2 3 4)))
(list #'+ #'- #'* #'/))

返回:

(10 -8 24 1/24)

关于functional-programming - 函数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1960207/

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