したがって、次のプロパティを持つRacketを使用してSchemeで作成する必要があるこのプログラムがあり、困惑しています。この関数は、sublist?
と の 2 つの入力で呼び出されS
、L
どちらもリストです。S が and のサブリストかどうかをチェックし、orL
を返します。#t
#f
例は次のようになります。
sublist? of (A A) and (A B C) is #f
sublist? of (A B C) and (A B D A B C D) is #t
sublist? of (A (B)) and (C ((A (B))) (C)) is #t
リストを抽出するには、と呼ばれる小さな関数extractLists
を作成する必要があります。この関数(atomicSublist S L)
を使用して、抽出された 2 つのリストをチェックし、 のすべての要素が に含まS
れているかどうかを確認しL
ます。
これまでのところ、
(define (atomicSublist S L)
(cond ((null? L) #f)
((equal? S (car L)) #t)
(else (atomicSublist S (cdr L)))))
2 番目の部分は実際には何もせず、抽出された S の値を出力することさえありません。
更新されたコード:
テストのためだけにatomicSublist
、今のところチェックしています。