| ホーム > Haskell > 2005年1月8日 > class, instance | 記事の検索 | サイト検索 | 更新情報 |
| プロフィール | 記事一覧 | リンク集 | RSS |
|
CRAFT 12.2, 12.3を見ながら、classの練習。
\begin{code}
module Main where
import Char
class Incrementable a where
inc :: a -> a
instance Incrementable Char where
inc c = chr ((ord c) + 1)
t1 = inc '3'
t2 = inc 'A'
instance Incrementable a => Incrementable [a] where
inc = map inc
t3 = inc ['A'..'D']
t4 = inc "HAL"
\end{code}
Main> t1 '4' Main> t2 'B' Main> t3 "BCDE" Main> t4 "IBM"
2006 [ 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 ]
2005 [ 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 ]
2004 [ 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 ]
book(3) / char(2) / compiler(3) / craft(5) / data(7) / enum(1) / geb(2) / hawiki(1) / hugs(1) / info(1) / io(3) / list(2) / map(3) / monad(16) / nobsun(12) / report(4) / sicp(2) / soe(8) / suchthat(2) / yaht(8)