gpt4 book ai didi

scheme - 如何使用未知数量的变量定义函数?

转载 作者:行者123 更新时间:2023-12-02 14:46:54 25 4
gpt4 key购买 nike

我是第一次学习 Lisp,我正在研究一个附加两个列表的简单函数。当我测试预定义的 append 的功能时,我注意到我可以给它两个以上的列表,我想知道自己该怎么做?所以我想知道如何在 Lisp 中创建一个接受未知数量变量的函数?

最佳答案

您可以使用虚线列表为可选参数定义函数。所有可选参数都将作为列表传递给您的函数。

例如,此函数采用一个强制参数 a0 和任意数量的可选参数作为 a-rest 列表传递:

(define (take-many a0 . a-rest)
a-rest)

现在,当你调用它时:

(take-many 1 20 333)

=> (20 333)

您可以看到可选的第二个参数和 thin 参数以列表形式提供。要访问它们,您可以使用标准列表访问器,如 carcdrnth 等。

lambda 也是如此。

您可以在 Dr Racket: 3.8 Procedure Expressions: lambda and lambda-case 上阅读更多相关信息(查找 rest-id)。

关于scheme - 如何使用未知数量的变量定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58592916/

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