理系学生日記

おまえはいつまで学生気分なのか

問題2-74a (2.4.3 Data-Directed Programming and Additivity)

問題が長いけど、部署ごとで使われているファイルのデータ構造が違うから、なんとかしろという話。


各部署にはたくさん人事ファイルがあるんだろうけど、さすがにその部署内ではデータ構造が一緒だろうという想定。
で、各部署ではファイル名と、取り出したい従業員の名前を引数に取るget-recordがあるだろう。
それを、部署名をキーとしたテーブルに登録しておいて、get-recordはこんなのにする。

(define (get-record division file-name employee)
  ((get 'get-record division) file-name employee))