私は実際のスキームの初心者であり、リスト引数で指定されたすべてのサブリストを返す方法を見つけようとしています(つまり、(1 2(3 4 5)(6 7 8)9)は2つのリストを返す必要があります(3 4 5)および(6 7 8))。
リストの残りの部分で再帰関数を使用する必要があることはわかっていますが、必要な結果を生成するのに問題があります。これが私が書いたものです:-
(define (find-sublists list)
(cond
((null? list) #t))
(not
(list? (first list)))
(print (first list))
(find-sublists (rest list)))
リストを検索して、リストであるものをすべて出力してから再度検索しようとしています。それ以外の場合は、リストの残りの部分を再帰的に検索します。ただし、条件が満たされたときに最後の行に直接ジャンプする方法がわかりません。
誰かアドバイスはありますか?