나는 Hackage에서 찾을 수 없기 때문에 작은 함수를 작성했지만 꽤 있어야한다고 확신하고 찾을 수 없다. 누군가가 어딘가에 있는지 알고 있습니까? 에 해당신데렐라 함수는 어디에 있습니까?
cinderella :: (a -> Bool) -> [a] -> ([a], [a])
cinderella f = foldr (\x (a,b) -> if f x then (x:a,b) else (a,x:b)) ([],[])
:
난 당신에게 선물
filterFilter f l = (filter f l, filter (not . f) l)
을 ...하지만 아마 두 순회하지 않습니다.
http://www.haskell.org/hoogle/?hoogle=(a+-%3E+Bool)+-%3E+%5Ba%5D+-%3E+(%5Ba%5D%2C+%5Ba%5D)' 파티션'기능? – dorchard
'break'만이 가장 길게 매치되는 접두어로 나뉩니다. – fho
@Florian 항목이 3 개 있으며, 모두 체크하십시오 (힌트 파티션은 3 번째입니다) – jozefg