1
我有一個函數,應該在列表上運行。首先,我必須將列表中的前兩個元素與該函數進行比較,然後將第三個元素與第一個比較的結果進行比較等等,以便結果只是一個元素。我覺得我應該使用迭代,但我無法使它工作。我怎樣才能做到這一點?功能上的結果
combineOption :: Cell -> Cell -> Cell
combineOption 'f' 'f' = 'f'
combineOption 'e' 'e' = 'e'
combineOption _ _ = 'u'
combineRow :: [Cell] -> [Cell] -> [Cell]
combineRow [] [] = []
combineRow l k = [ combineOption (l !! i) (k !! i) | i <- [0..(length(l)-1)] ]
combineLineOptions :: [[Cell]] -> [Cell]
combineLineOptions l = iterate ... <==================
其中type細胞=字符
函數應該做什麼?你能提供一個例子嗎?它的類型是什麼? 'iterate'看起來是錯誤的,但很難在不知道函數應該做什麼的情況下使用什麼。它可能是'foldl'或'scanl'或者一些變體。 – chi
您是否想將第四個元素與第二個比較的結果進行比較等等,以便最終結果只是一個元素? – immibis
是的。這正是我想要做的。 –