Hatena::Grouphaskell

lnzntのHaskell日記 このページをアンテナに追加 RSSフィード

2010年11月05日(金)

関数定義

| 08:15 |  関数定義 - lnzntのHaskell日記 を含むブックマーク はてなブックマーク -  関数定義 - lnzntのHaskell日記  関数定義 - lnzntのHaskell日記 のブックマークコメント

上のサイトでお勉強の続き。「6.関数定義」です。

module Main where
 
factorial n = if n == 0 then 1 else n * factorial (n - 1)
 
main = do putStrLn "What is 5! ?"
          x <- readLn
          if x == factorial 5
              then putStrLn "You're right!"
              else putStrLn "You're wrong!"

こんならしい。

factorial の部分が関数定義。main の部分は I/O アクション

ビルドする場合。(ソースファイル名は Test.hs)

$ ghc --make Test.hs
    :
$ ./Test               # 実行

インタプリタにロードする場合。

$ ghci Test.hs