Haskellは初めてです。例:[[1]、[2,2]、[3,3,3]]
次のように書くk
ことでx
、times teitemを含むリストを作成できます。
replicate k x
したがってx
、元のリストのすべてのアイテムをx
、x
時間を含むリストにマップします。たとえば、次のように書くことができます。
replic the_list = map helper the_list
where helper x = replicate x x
またはラムダ式を使用して:
replic the_list = map (\x -> replicate x x) the_list
または、次のjoin :: Monad m => m (m a) -> m a
関数を使用できます。
import Control.Monad(join)
replic the_list = map (join replicate) the_list
ここでeta-reducationを使用することもできます。the_list
関数句の先頭と本体の両方を削除します。
import Control.Monad(join)
replic :: [Int] -> [[Int]]
replic = map (join replicate)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加