関数型プログラミング言語Haskell Part27_©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0019デフォルトの名無しさん
2015/01/11(日) 11:13:36.60ID:xBHWy4LPPrelude> instance HaveSize [a] where size = length
Prelude> let f n = length . last . takeWhile ((>=) n . sum) . scanl (\ ls a -> [a] ++ ls) []
Prelude> let saturate n xs = take (f n $ map size xs) xs
Prelude> saturate 7 ["aa", "b", "ccc", "dd", "eee"]
["aa","b","ccc"]
Prelude> saturate 6 ["aa", "b", "ccc", "dd", "eee"]
["aa","b","ccc"]
Prelude> saturate 1 ["aa", "b", "ccc", "dd", "eee"]
[]
■ このスレッドは過去ログ倉庫に格納されています