我需要做一個函數,它接受一個列表和一個元素,並返回該元素的第一次出現被刪除列表:像如何刪除列表中第一個數字的外觀?哈斯克爾
removeFst [1,5,2,3,5,3,4,5,6] 5
[1,2,3,5,3,4,5,6]
我想的是:
main :: IO()
main = do
putStr (show $ removeFst [1,5,2,3,5,3,4,5,6] 5)
removeFst :: [Int] -> Int -> [Int]
removeFst [] m = []
removeFst [x] m
| x == m = []
| otherwise = [x]
removeFst (x:xs) m
| x == m = xs
| otherwise = removeFst xs m
但是這不起作用......它返回沒有第一個元素的列表。我想我應該做的遞歸調用做出的排行榜是這樣的:
removeFst (x:xs) m
| x == m = xs
| otherwise = removeFst (-- return the whole list till element x) m
THX :)它的工作 – Thanatos