为什么这个 Scheme 函数不能编译?
Why won't this Scheme function compile?
我有这个方案函数,我应该 运行 整数列表,但我不知道错误是什么意思。错误指出:“if: 需要一个问题和两个答案,但在中找到了 4 个部分:(if(null?list) '() (cons (+ 1 (car list)) (f(cdr list))))。这个函数缺少什么?'() 究竟做了什么?谢谢!我以前从未使用过 Scheme。
(define (f list)
(if (null? list)
’()
(cons (+ 1 (car list)) (f (cdr list)))))
您使用了错误的引用(可能是复制粘贴错误?)。
使用 '
而不是 ’
。
您用来引用空列表的字符是右引号’
,U+2019。如果您使用 ascii 撇号 '
、U+0027
,您的代码可以正常工作
(define (f list)
(if (null? list)
'()
(cons (+ 1 (car list)) (f (cdr list)))))
我有这个方案函数,我应该 运行 整数列表,但我不知道错误是什么意思。错误指出:“if: 需要一个问题和两个答案,但在中找到了 4 个部分:(if(null?list) '() (cons (+ 1 (car list)) (f(cdr list))))。这个函数缺少什么?'() 究竟做了什么?谢谢!我以前从未使用过 Scheme。
(define (f list)
(if (null? list)
’()
(cons (+ 1 (car list)) (f (cdr list)))))
您使用了错误的引用(可能是复制粘贴错误?)。
使用 '
而不是 ’
。
您用来引用空列表的字符是右引号’
,U+2019。如果您使用 ascii 撇号 '
、U+0027
(define (f list)
(if (null? list)
'()
(cons (+ 1 (car list)) (f (cdr list)))))