私はHaskellが初めてです。入力としてリストを指定すると、リストの各要素を k 回複製するプログラムを作成しようとしています。ここで、k
= リスト内の要素の位置です。
例えばreplic[5,6,7]
、与え[[5],[6,6],[7,7,7]]
ます。
別の条件は、ソリューションがmap
関数を使用する必要があることです。
今まで私が書いたコードは次のとおりです。
replic [] = []
replic (x:xs) = map (replicate 2 ) [x] ++ replic xs
複製には入力パラメーターがあるため、これはすべての要素を 2 回複製します2
。
私が必要とするのは、連続呼び出しのようにreplicate
関数に入力を与えることです。1 ,2 ,3
だからカウンターが欲しい。そこでカウンターを使用したり、要素の位置を取得するために何か他のことをしたりするにはどうすればよいですか?