2007-07-04から1日間の記事一覧

18:00ごろ帰りました。

リストモナドで

id:rubyco:20070704:mulを見て、「これはリストモナドだ〜」と思いました。こんな感じ。 module Main (main) where main :: IO () main = mapM_ putStrLn f where f :: [String] f = do c1 <- ['-', '=', '+'] c2 <- ['-', '=', '+'] c3 <- ['-', '=', '+'] …

Range#rand

id:ayabaud:20070704:1183527974を見て、Rangeクラスにrandがあればいいのにと思いました。こんな感じ。 class Range def rand n = exclude_end? ? last - first : last - first + 1 Kernel::rand(n) + first end end p((1940 .. 1980).rand)