所以在Haskell的項目工作,我已經結束了寫下面的函數此操作是否有標準名稱?
reGrid :: [[[a]]] -> [[a]]
reGrid [] = []
reGrid xs | any null xs = []
| otherwise = (concat $ map head xs) : reGrid (map tail xs)
對於那些誰也不說話哈斯克爾,這需要矩陣的名單,並加入相應的行成新矩陣。
它在這個項目中彈出了好幾次,我覺得這是我錯過的某種常見操作。
此操作是否有標準名稱?在Hoogle搜索
[[[a]]] -> [[a]
產量沒有用。
正是我在找的東西。有一點需要注意的是,你的初始值需要是一個列表的列表,它與輸入列表的長度相等,否則它不會實際到達任何行,即'let reGrid2 xs = foldr(zipWith(++ ))(複製(長度xs)[])xs'。 – user2085282
@ user2085282,修正,但不同。 – dfeuer