【发布时间】:2015-12-14 11:39:08
【问题描述】:
我是 Scheme 的新手,我想弄清楚为什么下面的函数不起作用。我想对字符列表的 int 值求和(这样字符 '1' 的值为 1,以此类推)。这是我试图做的:
(define (func ls sum)
(cond
((null? ls)(sum))
(else(func (cdr ls)(+ sum string->number(string(car ls)))))))
但是当我尝试像这样运行它时:
(func '() 0)
我得到:“应用程序:不是程序; 期望一个可以应用于参数的过程 给定:0 参数...:[无]”错误。 或者: “合同违约 预期:数字? 给定:#number> 论点位置:第二 其他论点。:" 当我尝试其他输入时..
谁能告诉我我做错了什么?
【问题讨论】:
-
string->number(string(car ls)) -
你有searched for that error message吗?这可能是重复的。
-
我有,但没有发现相同错误帮助我理解它..