gpt4 book ai didi

parameters - Lisp:为什么说我只给我的函数一个参数?

转载 作者:太空宇宙 更新时间:2023-11-03 19:02:47 25 4
gpt4 key购买 nike

代码:

(defun len (x count)
(cond ((null x) ())
(t (+ count 1)
(len (cdr x)))))

我尝试用 (len '(a b c) 0) 调用这个函数,但我收到一条错误消息,提示我只向该函数发送一个参数,而它需要两个参数。

我做错了什么?我特别困惑,因为我使用完全相同的代码运行该函数一次,没有出现错误,但后来它决定不再工作了。

最佳答案

(len '(a b c) 0) 具有正确数量的参数,但是函数内部的递归调用 (len (cdr x)) 确实不是。它缺少计数的第二个参数。

在相关说明中,您正在计算 (+ count 1),但随后未对计算结果执行任何操作。

关于parameters - Lisp:为什么说我只给我的函数一个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13337356/

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