【问题标题】:Scheme procedure exception about: incorrect number of arguments计划过程异常:参数数量不正确
【发布时间】:2021-04-19 04:17:13
【问题描述】:

我是一个新的阴谋家。也许这个问题很简单。但这真的让我很困扰。

我定义了一个过程

(define insertL
    (lambda (new old lat)
      (cond
        ((null? lat) '())
        ((eq? old (car lat)) (cons new lat))
        (else (cons (car lat) (insertL (cdr lat)))))))

那我就叫它

> (insertL 2 3 '(1 2 3))

发生异常

Exception: incorrect number of arguments to #<procedure insertL>

为什么?

【问题讨论】:

    标签: scheme chez-scheme


    【解决方案1】:

    insertL 有多少个参数?您是否在调用它的两个地方都使用正确数量的参数来调用它?

    【讨论】:

    • 谢谢。第二次调用缺少参数。实际上我只是检查了第一个电话的位置。这段代码我用vscode写的,执行前不能做语法检查,有没有更好的编辑器或者IDE?
    • @TimChan 语法是正确的 - 如果不是,您的解释器会拒绝代码而不执行它。问题在于语义。
    猜你喜欢
    • 1970-01-01
    • 2018-02-14
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多