![]() |
1
3
基本样式规则:不使用
为什么?通用Lisp实现只允许支持以下值
这意味着您的函数在某些实现过程中可能会列出不超过50项的列表。 较好的 :将列表作为单独的参数传递。
错误的解决方案
:不使用
|
![]() |
2
2
你真的在找
Apply可以接受两个以上的参数。第一个是要调用的函数,除了最后一个之外,其余都是放在last arguments元素前面的额外参数。您可以保证该实现支持50个参数,或者最多支持一个函数在该特定实现中可以接受的50个以上的参数。
现在通过递归
应该避免在递归中使用apply,但我将展示它是如何完成的。
在您的示例中,有嵌套列表。为了让它起作用,你还需要把它展平。我还没有这样做,所以这些支持一个适当的元素列表。 |
![]() |
Iliketoproveit · MATLAB函数中的变量参数对 7 年前 |
![]() |
jetstream · 变量参数和函数指针向量 7 年前 |
![]() |
WrathOfFlame · 解压缩函数调用的参数数组 7 年前 |
![]() |
flawr · 如何编写输出参数数目可变的匿名函数? 7 年前 |
![]() |
Tyler Jackson · 子类中变量函数特化的定义 7 年前 |
|
Brave Shine · Lisp&rest参数和递归调用 7 年前 |