2013年7月10日星期三

Common Lisp : 递归函数包含 &rest 参数 的问题

见:Common_Lisp:A_Gentle_Introduction_to_Symbolic_Computation 11.14

假设递归函数名为 square-all (&rest args),
如果函数体中递归调用 (square-all (cdr args)),会变成只传入一个参数 ((cdr args)),错误
要换成(apply #'square-all  (cdr args)),会当成列表传入多个参数,正确

没有评论:

发表评论