2つのエラーが表示され、ここで何か分かりません。最初は入力が両方のセットであるときに来る。これは私に与えられるエラーです:スキームエラー:#tは関数ではありません[サブセット?,(anon)]
Error: #t is not a function [subset?, (anon)]
2番目は、AまたはSがセットではなく、そのelseステートメントです。私はこれを取得:
(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)
ザ・に設定されて次のように
Error: execute: unbound symbol: "else" [subset?, is-set?]
私のコードはありますか? "((null?A)#t)"と同じ構文 "((null?L)#t)"を返します。 サブセットとは何か関係がありますか? 2つのパラメータを取るか?
https://repl.it/languages/schemeでこれをテストしていますが、それで違いがあるかどうかわかりません。
おかげ
ありがとうございます!これは多くの助けとなりました。そして、あなたは正しい、それは最初のもので動作しませんでした。 – Penrose5833