क्या हैस्केल में कुछ फ़ंक्शन है जो एक सूची ट्रैवर्सल में फ़िल्टर (x पी, फिल्टर (not.p) xs फ़िल्टर करें) (यहां दो हैं) या इस तरह के समारोह के लिए कार्यात्मक प्रोग्रामिंग में कुछ आम नाम है?मानक नाम (फ़िल्टर पी एक्सएस, फ़िल्टर (not.p) xs)
10
A
उत्तर
33
प्रकार में पहला रूप में है कि आप की जरूरत है:
Prelude> :t \p xs -> (filter p xs, filter (not . p) xs)
\p xs -> (filter p xs, filter (not . p) xs)
:: (a -> Bool) -> [a] -> ([a], [a])
Prelude> :hoogle (a -> Bool) -> [a] -> ([a], [a])
Prelude break :: (a -> Bool) -> [a] -> ([a], [a])
Prelude span :: (a -> Bool) -> [a] -> ([a], [a])
Data.List break :: (a -> Bool) -> [a] -> ([a], [a])
Data.List partition :: (a -> Bool) -> [a] -> ([a], [a])
Data.List span :: (a -> Bool) -> [a] -> ([a], [a])
अब कार्यों की कोशिश:
Prelude> break odd [1..10]
([],[1,2,3,4,5,6,7,8,9,10])
Prelude> span odd [1..10]
([1],[2,3,4,5,6,7,8,9,10])
Prelude> import Data.List
Prelude Data.List> partition odd [1..10]
([1,3,5,7,9],[2,4,6,8,10])
3
हास्केल इसे partition
कहते हैं।
0
मुझे लगता है कि आप डेटा चाहते हैं। लिस्टपार्टिशन उदा।
partition (>2) [1,2,3,4,5]
परिणाम ([3,4,5], [1,2])
+1 यह दिखाने के लिए कि इसे स्वयं कैसे ढूंढें। –
साइट बनाने के लिए कौन जा रहा है "मुझे आपके लिए होगल करें"? –
यहां आपको ghci में ': hoogle' कमांड कैसे मिलता है: http://www.haskell.org/haskellwiki/Hoogle#GHCi_Integration – amindfv