SICP 問題 2.7(区間オブジェクトの選択子を定義する)
【問題】
区間の抽象化の実装を規定しなかったので、Alyssa のプログラムは不完全である。
区間構成子は、
(define (make-interval a b) (cons a b))
である。
実装を完成させるため、選択子 upper-bound、lower-bound を定義せよ。
【解答】
これは普通に car と cdr を使うだけっすね。
一応自分の中の定義としては、【問題】で定義されている make-interval の引数は、
という解釈をすることにする。そうすると、lower-bound、upper-bound はそれぞれ、
下限値:a
上限値:b
;下限値 (define (lower-bound x) (car x)) ;上限値 (define (upper-bound x) (cdr x))
こんな風に定義できる。一応実験。
OKっすね。
gosh> (define i0 (make-interval 6.12 7.48))
i0
gosh> (lower-bound i0)
6.12
gosh> (upper-bound i0)
7.48
gosh>