-1
嘗試自己去學習一些Haskell的,我知道的功能分區使用遞歸
partition :: (a -> Bool) -> [a] -> ([a], [a])
我將能夠使用這個遞歸,而不是使用功能。例如:內徑有我自己定義的函數
partition':: (a -> Bool) -> [a] -> ([a], [a])
這將使用遞歸
嘗試自己去學習一些Haskell的,我知道的功能分區使用遞歸
partition :: (a -> Bool) -> [a] -> ([a], [a])
我將能夠使用這個遞歸,而不是使用功能。例如:內徑有我自己定義的函數
partition':: (a -> Bool) -> [a] -> ([a], [a])
這將使用遞歸
這裏是一個遞歸定義:
partition':: (a -> Bool) -> [a] -> ([a], [a])
partition' _ [] = ([],[])
partition' f (x:xs) | f x = (x:matched,notMatched)
| otherwise = (matched,x:notMatched)
where (matched,notMatched) = partition' f xs
什麼是你的問題?你真的嘗試過一種方法嗎? – sdx23
即時嘗試實現類似的功能分區,但使用遞歸。問題是根據命令行解析的函數來分割兩個列表,例如分區'even [1,2,3,4,5]將返回([2,4],[1,3,5]) – user3311562
遞歸不是一切的關鍵,只有2個過濾操作的分區更容易理解 – Netwave