如何将一个函数映射到列表中的列表进行操作?以下只是我想要作为示例尝试的内容,但我只是一般性地提问。提前感谢!
现在,我正在尝试将一个函数change映射到由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
width
,也许你想用length
? - Dan Burton