リスト内のリストを操作するように関数をどのようにマップしますか?以下は私が例としてやろうとしていることですが、私は一般的な質問として質問していました。前もって感謝します!
現在、関数changeを1つのリスト(itrCol xsによって返される)の各リストにマップしようとしています。
evalChange xs = map change $ itrCol xs
ここで、itrColはリストのリストを返します。ここで、含まれている各リストは列です。
itrCol xs = [getCol x xs | x <- (take (width xs) (iterate (\x -> (x + 1)*1) 0))]
getColは、列インデックスのリストを指定して列をリストします
getCol :: Int -> [t] -> [t]
変更は次のとおりです。
change [] = []
change [x] = [x]
change [x,y] = [x,y]
change (x:y:z:ws) | x == y && y == z = 0 : y*(-1) : 0 : change ws
change (x:xs) = x : change xs