関数型プログラミング言語Haskell Part13
■ このスレッドは過去ログ倉庫に格納されています
0802デフォルトの名無しさん
2011/02/08(火) 00:07:55foldlだと駄目だと思うけど、foldrだといけるんじゃ?
dofirst p f = foldr k Nothing
where k a b = if p a then Just (f a) else b
-- dofirst (==20) (*2) [1..] => Just 40
dofirst' p f = foldl k Nothing
where k b a = if p a then Just (f a) else b
-- dofirst' (==20) (*2) [1..] => _|_
■ このスレッドは過去ログ倉庫に格納されています