--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2007/12/26

haskell 練習その2 - 99 shinichiroes of hamaji

99 shinichiroes of hamaji

問題の意図がよくわからなかったけど、関数の途中に IO (モナド)を含む関数を書く練習のためにやってみた。プログラムの短さ、速さとかを競うサイトみたいだけど、そんなの関係なしにやった。

shinichiroes :: Int -> IO ()
shinichiroes 1 = putStrLn $ getMessage 1
shinichiroes n = (putStrLn $ getMessage n) >> shinichiroes (n-1)

getMessage 1 = "1 shinichiro of hamaji on the wall, 1 shinichiro of hamaji.\n" ++
    "Go to the store and buy some more, 99 shinichiroes of hamaji on the wall."
getMessage n = (show n) ++ " shiniciroes of hamaji on the wall, " ++
    (show n) ++ "shinichiroes of hamaji.\n" ++
    "Take one down and pass it around, " ++ (show (n-1)) ++
    "shinichiroes of hamaji on the wall."

main = shinichiroes 99
  • bind の使い方はだいぶ慣れてきた。
  • printf みたいなことってできないのかな。
スポンサーサイト

comment

post




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。