Do-it-yourself operators

2005年1月8日 結城浩

CRAFT 3.7 (p.51)とAppendix Cを見ながら、C言語風の % で `mod` の代わりにしてみる。

\begin{code}
module Main where

(%) :: Integral a => a -> a -> a
infixl 7 %
(%) = mod

t1 = 7 `mod` 3
t2 = 7 % 3
t3 = 7 `mod` (-3)
t4 = 7 % (-3)
t5 = 7 `mod` 0
t6 = 7 % 0

\end{code}
Main> t1
1
Main> t2
1
Main> t3
-2
Main> t4
-2
Main> t5

Program error: divide by zero

Main> t6

Program error: divide by zero

[craft] 2005年1月8日 15:35

記事一覧

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 ]

Bloglines

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)

記事検索 サイト検索はこちら

豊かな人生のための四つの法則