![]() |
1
3
基本样式规则:不使用
为什么?通用Lisp实现只允许支持以下值
这意味着您的函数在某些实现过程中可能会列出不超过50项的列表。 较好的 :将列表作为单独的参数传递。
错误的解决方案
:不使用
|
![]() |
2
2
你真的在找
Apply可以接受两个以上的参数。第一个是要调用的函数,除了最后一个之外,其余都是放在last arguments元素前面的额外参数。您可以保证该实现支持50个参数,或者最多支持一个函数在该特定实现中可以接受的50个以上的参数。
现在通过递归
应该避免在递归中使用apply,但我将展示它是如何完成的。
在您的示例中,有嵌套列表。为了让它起作用,你还需要把它展平。我还没有这样做,所以这些支持一个适当的元素列表。 |
![]() |
jkfe · 为什么println会在这段递归代码中执行? 3 年前 |
![]() |
Jimmy · 这种算法怎么能按顺序遍历树“爬上”树呢? 3 年前 |
![]() |
AvirukBasak · gcc中无return语句的尾部递归 3 年前 |
![]() |
Dharmik Patel · 使用python递归完全可以整除 3 年前 |
![]() |
W.tan · 一维最短距离递归算法 3 年前 |
![]() |
ncarrawa · 将1添加到i(递归)时出现类型错误 3 年前 |
![]() |
Eren · Python递归何时返回[duplicate] 3 年前 |