問題2.75、問題2.76 – SICP(計算機プログラムの構造と解釈)その86

問題2.75

(define (make-from-mag-ang r a)
  (define (dispatch op)
    (cond ((eq? op 'real-part)
           (* r (cos a)))
          ((eq? op 'imag-part)
           (* r (sin a)))
          ((eq? op 'mgnitude) r)
          ((eq? op 'angle) a)
          (else (error "Unknown op -- MAKE-FROM-MAG-ANG" op))))
  dispatch)

問題2.76

  新しい型を追加する時 新しい演算を追加する時
明白な振り分けを持つ汎用演算 全ての手続きを変更 なし
データ主導流 新しく追加する型の
パッケージを作る
なし
メッセージパッシング流 なし 全ての型のデータオブジェクトに
新しい演算を追加

新しい型が絶えず追加されるシステムには

メッセージパッシング流が最適

新しい演算が絶えず追加されるシステムには

データ主導流が最適

計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»