Next: 4.5.4 データ指向型プログラミング
Up: 4.5 データのタイプ付け
Previous: 4.5.2 極座標と直交座標の例
極座標と直交座標のどちらのデータで表現されて
いようとも,その実部,虚部,絶対値,偏角を返す手続きを
作る方法として,データタイプの場合に応じて
個別の関数を呼び出す方法があります.
(define (real-part z)
(cond ((rectangular? z)
(real-part-rectangular (contents z)))
((polar? z)
(real-part-polar (contents z)))))
(define (imag-part z)
(cond ((rectangular? z)
(imag-part-rectangular (contents z)))
((polar? z)
(imag-part-polar (contents z)))))
(define (magnitude-part z)
(cond ((rectangular? z)
(magnitude-part-rectangular (contents z)))
((polar? z)
(magnitude-part-polar (contents z)))))
(define (angle-part z)
(cond ((rectangular? z)
(angle-part-rectangular (contents z)))
((polar? z)
(angle-part-polar (contents z)))))
という具合に,タイプごとにcond文で
場合分けをするわけです.
generated through LaTeX2HTML. M.Inaba 平成18年5月6日