入力 | 説明 | デフォ |
---|---|---|
[0]<self> | 評価対象。 | nil |
[1]<n> | 回数。 | 0 |
<self>を<n>回評価して結果をリストにして返す関数。
下図の最初の例はプログラムとしては冴えない。なぜなら、repeat-nが拾ってくる値は必ず2であるにもかかわらずom+関数に4回いちいち計算させているため。
ワンスモードにする手もあるが、この場合「1回だけ値をもらって後はそれをコピーしてリスト化」というロジックを持ったcreate-list関数を使うべきで、その方が速いしメモリも食わない(この例では速度10倍、メモリ割り当て1/6ぐらい)。
repeat-nが1回1回不定の値をもらいたい場合はこの手は使えない(下例)。
ワンスモードにする手もあるが、この場合「1回だけ値をもらって後はそれをコピーしてリスト化」というロジックを持ったcreate-list関数を使うべきで、その方が速いしメモリも食わない(この例では速度10倍、メモリ割り当て1/6ぐらい)。
repeat-nが1回1回不定の値をもらいたい場合はこの手は使えない(下例)。

添付ファイル