私は SICP からかなりのスキームを学びましたが、今は Common Lisp にもっと興味があります。私は一般的な Lispfold
がでありreduce
、左または右の折り畳みに特別な引数があることを知っていますが、 と同等のものは何unfold
ですか? グーグルはあまり役に立ちませんでした。実際、展開がないという印象を受けます???
1220 次
2 に答える
13
Common Lisp には(loop ... collect ...)
. 比較
(1 から 10 までの x のループ (* xx) を収集)
を使用した等価性unfold
:
(展開 (ラムダ (x) (> x 10)) (ラムダ (x) (* xx)) (ラムダ (x) (+ x 1)) 1)
一般的に(unfold p f g seed)
は、基本的に
(x =シード、次に(gx)、(px)収集(fx)までループ)
編集:タイプミスを修正
于 2009-10-26T12:23:50.600 に答える
3
common lisp hyperspec はunfold
関数を定義しませんが、確かに独自の関数を書くことができます。そのスキーム定義は、ほとんどのシンボルをシンボルごとに変換します。
于 2009-10-26T05:47:21.270 に答える