3
foldを使用してHaskellでtakeWhile関数を実装するにはどうすればよいですか?折りたたみでtakeWhileを実装する
takeWhile :: (a -> Bool) -> [a] -> [a]
私はこの
filter :: (a -> Bool) -> [a] -> [a]
filter f = foldr (\x acc -> if f x then x : acc else acc) []
のようなフィルタを実装する戦略似を試みたが、F xが偽であるとき、私はどのように停止することができますか?