再帰 と コレクション操作
[問題]
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
次はコレクション操作でワンライナーと行きたいところ。
考え方的には、無限長リストから条件一致部分までを取り出すわけか。
遅延評価必須だな。