Haskellの組込み関数replicate(多相型変数の任意回数の複製機能を持つ)を、再定義します。
再帰定義を使った方法、終了条件に気をつけて...。
複製関数の定義:再帰を使って
repli :: Int -> a -> [a]
repli n x
| n <= 0 = []
| otherwise = x : repli (n-1) x
リスト内包表記を使っての定義
複製関数の定義:リスト内包定義を使って
list_in_repli :: Int -> a -> [a]
list_in_repli n a = take n arry
where arry = a : [x | x <- arry]
もっと、シンプルで本質的な書き方を習得したいなー。