作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是第一次学习 Lisp,我正在研究一个附加两个列表的简单函数。当我测试预定义的 append
的功能时,我注意到我可以给它两个以上的列表,我想知道自己该怎么做?所以我想知道如何在 Lisp 中创建一个接受未知数量变量的函数?
最佳答案
您可以使用虚线列表为可选参数定义函数。所有可选参数都将作为列表传递给您的函数。
例如,此函数采用一个强制参数 a0
和任意数量的可选参数作为 a-rest
列表传递:
(define (take-many a0 . a-rest)
a-rest)
现在,当你调用它时:
(take-many 1 20 333)
=> (20 333)
您可以看到可选的第二个参数和 thin 参数以列表形式提供。要访问它们,您可以使用标准列表访问器,如 car
、cdr
、nth
等。
lambda
也是如此。
您可以在 Dr Racket: 3.8 Procedure Expressions: lambda and lambda-case 上阅读更多相关信息(查找 rest-id
)。
关于scheme - 如何使用未知数量的变量定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58592916/
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Combination of List> 我有多个列表,可以是 2 个或 3 个,最多 10 个列表,有多个
我是一名优秀的程序员,十分优秀!