開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- Haskell (プログラミング言語)
- Haskell Platform(ghci)(処理系)
関数プログラミング入門(Richard Bird (著)、山下伸夫 (翻訳)、オーム社)の第2章(単純なデータ型)、2.2(文字)、練習問題2.2.1、2.2.2を取り組んでみる。
練習問題2.2.1、2.2.2
コード(Emacs)
-- 2.2.1 import Data.Char nextlet :: Char -> Char nextlet c | c == 'Z' = 'A' | c == 'z' = 'a' | otherwise = chr ((ord c) + 1) digitval :: Int -> Char digitval k = if 0 <= k && k <= 9 then chr ((ord '0') + k) else error "Invalid argument"
入出力結果(Terminal, ghci)
$ ghci sample2.hs GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help [1 of 1] Compiling Main ( sample2.hs, interpreted ) Ok, modules loaded: Main. *Main> nextlet 'a' 'b' *Main> nextlet 'z' 'a' *Main> nextlet 'A' 'B' *Main> nextlet 'Z' 'A' *Main> digitval 0 '0' *Main> digitval 1 '1' *Main> digitval 9 '9' *Main> digitval 10 *** Exception: Invalid argument CallStack (from HasCallStack): error, called at sample2.hs:13:19 in main:Main *Main> :q Leaving GHCi. $
0 コメント:
コメントを投稿