再帰 と コレクション操作
[問題]
7 が出現するまで0 から9 の整数をランダムに取り出し、それまでの値を格納したリストを生成する関数を作りなさい。
ただしimmutable とする。
なおランダム値の生成はライブラリを使用してよい。
とりあえずRuby の再帰でこんな感じ。
def each_rand_seven do
def recursion(array)
x = rand(0..9)
return [array, x].flatten if x == 7
recursion([array, x].flatten)
end
recursion([])
end
次はコレクション操作でワンライナーと行きたいところ。
考え方的には、無限長リストから条件一致部分までを取り出すわけか。
遅延評価必須だな。