たけ(tk)です。

Yukihiro Matsumoto さん曰く。
》足し算がなくupdateだけなのは交換則が成立しないからです。引き算もあまり意味があるとは思えません。

 えっと、ちょっとだけこれを欲しいと思った背景を述べておきます。

 複数のデータセット(データベーステーブル)を一つのフォームに表示編集す
るためのライブラリを作ろうと思いまして、データの受け渡しに名前付きの一覧
表つまりハッシュを使えば簡単になるのではないかと思ったわけです。

 たとえば、

 フォーム(表示編集)		データセットA
 変数名A:値A ←ー→	項目名A:値A
 変数名B:値B ←ー→	項目名B:値B(外部キー参照)→+
 変数名C:値C ←+                   ↓
 ・・・      |   データセットB         ↓
          |   項目名B:値B  ←←←←←←←←+
          +−→ 項目名C:値C

このような関係にあるときに、フォーム、データセット共にハッシュでデータを
やりとりするための values、values= というメソッドがあるものとする。する
と

 form.values = dataset_a.values + dataset_b.values

で複数のデータセットからフォームへのデータの受け渡しが可能になる。

 フォームで編集した後には

 dataset_a.values = form.values            # 余った分は切り捨てる。
  dataset_b.values = form.values - dataset_a.values
  (項目名Bはキー項目なので変更しないように除外する)

という処理でフォームから各データセットへのデータの受け渡しが可能になる。

という案なのです。

* 微調整が必要な場合には hash で取り出した時点で加工する。

たけ(tk) ggb03124 / nifty.ne.jp
http://member.nifty.ne.jp/take_tk