ペアによる有理数の実装

本当の有理数ではないので、分母が0でもエラーにならない。
(define (make-rat n d) (cons n d))
(define (numer x) (car x))
(define (denom x) (cdr x))
(define (print-rat x)
  (write (numer x))
  (display "/")
  (write (denom x))
  (newline)         ; 改行を出力する関数( (display "\n")と同じ)
  'done)
> (print-rat (+rat one-third one-third))
6/9
done
> (print-rat (make-rat 1 0))
1/0
done

一覧 前へ 次へ