2011-09-15 38 views
0

だが、私はそうのように、Schemeでリストのリストを持っているとしましょうリストの各文字は?例えば反復処理は、スキーム

、私はどのように私はsmorg A、B smorg、smorg C ...をやって行くのです、だから、別の関数に

(define (smorg a) 
    (...)) 

を持っていましたか?

+0

私はScheme(およびその再帰)の新機能です。これまでのところ、私はbruteforceメソッド、つまりsmorg(最初の(最初のa-list))、smorg(2番目(最初のa-list))などを試しました。私はちょうどこのプロセスを何とか自動化したいと思っていました – arkate

答えて

2

list?mapcarcdrのいずれかがわかるようにしてください。それらは使用の可能性があります。

+0

今、クラスでそれをカバーした、地図は実際より洗練されたソリューションのように見えます。 – arkate

6

どのような教科書を使用していますか?

答えがの場合は、プログラムの設計方法に従ってから、設計レシピに従ってください。特に、データ定義が必要です。データ定義を使用してテンプレートを生成します。テンプレートは、再帰権を取得する方法を正確に示しています。

HtDPを使用していない場合は、読んでみることを強くおすすめします。この本はオンラインで入手できます。http://www.htdp.org/その後、設計レシピに従います。具体的には、データ定義などが必要です。

いずれの場合でも、ヒントはありません。は、再帰を習得する前にlist関数を使用します。あなたの関数ではなく、あなたの例でさえも。それはあなたの方法で取得します。 consemptyでリストを作成します。