concatr ::Integer -> [[Integer]] -> [[Integer]]
concatr x (y) = [x] : y
concatr x (y:ys) = concatr x y: concatr x ys
私はこれの非常に多くの組み合わせを試したので、頭が痛くなり始めました. 私は正確に何を間違っていますか?渡されたリストのすべてのサブリストに整数を入れたいだけです。
concatr ::Integer -> [[Integer]] -> [[Integer]]
concatr x (y) = [x] : y
concatr x (y:ys) = concatr x y: concatr x ys
私はこれの非常に多くの組み合わせを試したので、頭が痛くなり始めました. 私は正確に何を間違っていますか?渡されたリストのすべてのサブリストに整数を入れたいだけです。
機能を使用できますmap
。
concatr :: Integer -> [[Integer]] -> [[Integer]]
concatr x ys = map (x:) ys
簡潔な解の Eta reduce :
concatr x = map (x:)
避けたい場合map
:
concatr :: Integer -> [[Integer]] -> [[Integer]]
concatr x [] = []
concatr x (y:ys) = (x:y):concatr x ys
2 つのケース:
y:ys
、新しいヘッドはであり、残りの部分x:y
を再帰的に呼び出します。concatr
例:concatr 1 [[0],[2]]
です[[1,0],[1,2]
。