HaskellのI/O Hello World!:IO型の紹介 入力、数値、read関数
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT4(HaskellのI/O)、LESSON21(Hello World!:IO型の紹介)、21.5(練習問題)Q21-2の解答を求めてみる。
コード
fib :: (Eq a, Num a, Num p) => a -> p
fib 0 = 0
fib 1 = 1
fib n = fib (n - 1) + fib (n - 2)
main :: IO ()
main = do
s <- getLine
let n = read s :: Integer
print $ fib n
入出力結果(Terminal, Zsh)
% runghc sample2.hs
0
0
% runghc sample2.hs
1
1
% runghc sample2.hs
2
1
% runghc sample2.hs
10
55
%