【问题标题】:Why won't this Scheme function compile?为什么这个 Scheme 函数不能编译?
【发布时间】:2016-07-30 22:45:39
【问题描述】:

我有这个计划函数,我应该在上面运行整数列表,但我不知道错误意味着什么。错误状态:“如果:预期一个问题和两个答案,但在 (if(null?list) '() (cons (+ 1 (car list)) (f(cdr list))) 中找到 4 个部分。这个函数缺少什么以及 '() 到底是做什么的?谢谢!我以前从未使用过 Scheme。

(define (f list)
    (if (null? list)
        ’()
        (cons (+ 1 (car list)) (f (cdr list)))))

【问题讨论】:

    标签: scheme racket


    【解决方案1】:

    你用来引用空列表的字符是右引号,U+2019。如果您使用 ascii 撇号 ', U+0027,您的代码可以正常工作

    (define (f list)
        (if (null? list)
            '()
            (cons (+ 1 (car list)) (f (cdr list)))))
    

    【讨论】:

      【解决方案2】:

      您使用了错误的报价(可能是复制粘贴错误?)。

      使用' 而不是

      【讨论】:

        猜你喜欢
        • 2019-12-08
        • 1970-01-01
        • 2014-01-18
        • 1970-01-01
        • 1970-01-01
        • 2018-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多