私はスキームが新しく、私は提案されたエクササイズを解決しようとしています。スキームプログラミングエクササイズ
2つの関数を取り、述語(引数としても渡される)が#tを返すときに最初の関数を適用するプロシージャ "filteredmap"を記述します。述語が#fを生成するときに第2の関数を適用する。
例:
> (filteredmap even? (lambda (x) (+ x 1))
(lambda (x) (* x 2))
(list 1 2 3 4 5 6 7 8 9 10))
(2 3 6 5 10 7 14 9 18 11)
> (filteredmap even? (lambda (x) "yes, yes, even!")
(lambda (x) "oh no!")
(list 1 2 3 4 5 6 7 8 9 10))
("oh no!" "yes, yes, even!" "oh no!" "yes, yes, even!" "oh no!" "yes, yes,
even!" "oh no!" "yes, yes, even!" "oh no!" "yes, yes, even!")
任意のアイデアはどのようにそれを実装するには?ご協力いただきありがとうございます!
'filteredmap pg h = map([x] => p x?g x:h x)'です。 –
本当に自分の宿題を自分で解決しようとする前に、他の人にあなたのためにそれをするように依頼してください。これはStack Overflowのためのものではなく、学習するのではなくあなた自身をだますだけです。 –