【发布时间】:2017-09-26 20:39:25
【问题描述】:
我收到两个错误,我显然不理解这里的某些内容。当输入都是两组时,第一个出现。这是它给我的错误:
Error: #t is not a function [subset?, (anon)]
当 A 或 S 不是集合并且它是 else 语句时,第二个出现。我明白了:
Error: execute: unbound symbol: "else" [subset?, is-set?]
我的代码如下:
(define (is-set? L)
(if (list? L)
(cond
((null? L) #t)
((member (car L)(cdr L)) #f)
(else (is-set? (cdr L)))
)
(else #f)
)
)
(define (subset? A S)
(if ((is-set? A) and (is-set? S))
(cond
((null? A) #t)
((member (car A) S)
(subset? (cdr A) S))
(else #f))
(else #f))
)
(subset? '(1 3 5) '(1 2 3 5 6))
;;(subset? '(1 3 5) 1)
现成的?函数有效,并且语法“((null?L)#t)”与“((null?A)#t)”完全相同 它与子集的事实有关吗?有两个参数?
我正在https://repl.it/languages/scheme 上进行测试,我不确定这是否也会有所作为。
谢谢
【问题讨论】: