ListUtil.hs
Previous
Next
HomegetOddNumbers :: [Integer] -> [Integer] getOddNumbers [] = [] getOddNumbers (x:xs) | odd x = x : getOddNumbers xs | otherwise = getOddNumbers xs
*Main> :load ListUtil.hs [1 of 1] Compiling Main ( ListUtil.hs, interpreted ) Ok, modules loaded: Main. *Main> *Main> getOddNumbers [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [1,3,5,7,9] *Main> *Main> getOddNumbers [] [] *Main>
We can rewrite the
above program-using filter in a convenient way.
*Main> :t filter
filter :: (a ->
Bool) -> [a] -> [a]
Observe the signature
of filter, it takes a function, list of elements of type ‘a’ as input and apply
the function on list of elements and return new list of elements that satisfy
given function (a -> Bool).
*Main> filter odd [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [1,3,5,7,9] *Main> *Main> filter odd [] []
Thanks, it was helpful
ReplyDelete