04/02/19 18:26
>>48
なるほど、dropはnが大きすぎると[]を返すんだね。
きれいなやりかただ。
で、35の関数はわかりやすさと効率を考えると
以下のものがいいということになる?
38とほぼ同じ。少し見やすくしてみた。
効率がいいのはこれなのかな。
それとnum < 0のときはデフォルトのエラーを起こすようにした。
k num = mapMaybe (takeOfMine num) . tails
takeOfMine 0 _ = Just []
takeOfMine n [] = Nothing
takeOfMine n (x:xs) = maybe Nothing (Just . (x:)) $ takeOfMine (n-1) xs