2013年10月29日火曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg Wilson(著)長尾 高弘(翻訳))の2章(Python入門)の2.10(練習問題)、10をHaskellで解いてみる。

その他参考書籍

10.

コード(BBEdit)

Sample.hs

{-# OPTIONS -Wall -Werror #-}

main :: IO ()
main = do
    mapM_ putStrLn $ map (\(x, y) -> x ++ show y)
                         stringIntPairs
    putStrLn $ "fromIntegral . abs $ -86 = " ++
               show ((fromIntegral . abs $ (-86 :: Int)) :: Double)

stringIntPairs :: [(String, Int)]
stringIntPairs = [("3 ^ 7 = ", 3 ^ (7 :: Int)),
                  ("floor 34.7 = ", floor (34.7 :: Double)),
                  ("round 34.7 = ", round (34.7 :: Double))]

入出力結果(Terminal, runghc)

$ runghc Sample.hs
3 ^ 7 = 2187
floor 34.7 = 34
round 34.7 = 35
fromIntegral . abs $ -86 = 86.0
$

{-# OPTIONS -Wall -Werror #-}を記述してるから、細かく型を指定(:: Double)しないと警告がいっぱい出た。慣れるまでは{-# OPTIONS -Wall -Werror #-}の記述を消さずに細かく型を指定していくことに。

0 コメント:

コメントを投稿