問題2.75

;; なんか普通のオブジェクト指向っぽい感じだ。
(define (make-from-mag-arg r a)
  (define (dispatch op)
    (cond ((eq? op 'real-part) (* r (cos a)))
          ((eq? op 'imag-pert) (* r (sin a)))
          ((eq? op 'magnitude) r)
          ((eq? op 'angle)     a)
          (else (error "Unknown op -- MAKE-FROM-MAG-ARG" op))))
  dispatch)