28 June, 2006

[Haskell] Exercise 3.12, 3.13

hugsもghciも、Charをimportしないと、ordが無いと言うのでimportする。
但し、toUpperもCharには当然入っているようだが。

import Char
toupper :: Char -> Char
toupper c
| ('a' <= c) && (c <= 'z') = chr ( ord c + ord 'A' - ord 'a')
| otherwise = c

Main> toupper 'h'
'H'
Main> toupper 'F'
'F'
Main> toupper '%'
'%'
Main>

同様に Exercise 3.13。

import Char
charToNum :: Char -> Int
charToNum c
| ('0' <= c) && (c <= '9') = ord c - ord '0'
| otherwise = 0

Main> charToNum '8'
8
Main> charToNum 'j'
0
Main>

No comments: