gpt4 book ai didi

lisp - 在 Jess 中对数字列表求和

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

我正在尝试在 Jess 中对数字列表求和,但我不确定如何去做:

(deffunction sumAll ($?n) (return (+ ?n)))

(sumAll 1 2 3)

上面的代码不起作用。我应该怎么做?

最佳答案

这里有两种方法。您可以通过将函数调用构建为字符串并让解析器重新解析它来完成单行代码:

(deffunction sumAll($?args)
(eval (str-cat "(+ " (implode$ ?args) ")" )))

或者您可以明确地进行迭代。

(deffunction sumAll($?args)
(bind ?sum 0)
(foreach ?num ?args
(bind ?sum (+ ?sum ?num))))

第二个可能会更有效率。

关于lisp - 在 Jess 中对数字列表求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11180877/

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