関数型プログラミング言語Haskell Part3
■ このスレッドは過去ログ倉庫に格納されています
0399どうでしょうか,,,
05/02/11 11:11:26rank :: Integer -> String
rank x
| x `mod` 10 == 1 = s ++ "st"
| x `mod` 10 == 2 = s ++ "nd"
| x `mod` 10 == 3 = s ++ "rd"
| otherwise = s ++ "th"
where s = show x
ranks :: [String]
ranks = map rank [1..]
sort_group :: Ord a => [a] -> [[a]]
sort_group l = group $ reverse $ sort l
main :: Ord a => [a] -> [(String,[a])]
main lst = zip ranks (sort_group lst)
■ このスレッドは過去ログ倉庫に格納されています