けいじゅ@SHLジャパンです. 

In [ruby-list :02666 ] the message: "[ruby-list:2666] Re: class design
(Re: url escape) ", on Apr/07 21:58(+0200)
sinara / blade.nagaokaut.ac.jp writes:

>> 私も基礎論が専門ではなく趣味でやっていただけですので... 私の専門は多様
>> 体上の解析学でした.
>そうだったんですか。私は Topology で、遠目で見ると親戚に見え
>るかも。:-)

代数的位相幾何ですか? それとも組合せ位相幾何? それともベーシックな位相
ですか(それはないよなあ)(^^;;;

代数的位相幾何であれば, 私が微分位相幾何ですから, 近いといえば近いです
が... 

# でも, 原さんを拝見した感じでは, 離散系の数学を専攻されているに違いな
# いと思っていたのですが(^^;;; いかがでしょう?

>> クラス継承を使うのでなくて, デレゲーションを利用するんで, あまり手間は
>> 変わらないんですけどね.
>石塚さんの著書(アスキーの)を買って読んだんですけど、このデレゲ

あら. どうもありがとうございます(^^;;;

>なんとかというのがイメージはあるけど実は良く分かってないんです。^^;
>よろしければ ruby のコードで単純な例を示してくれるとありがたいの
>ですが。委譲、Proxy クラスも同じ意味ですか?ダブルディスパッチは
>関係なし?

すいません. その時の用語の使い方とここでの使い方は異なっています. 私の
本でフォワーディングと呼んでいるのがここでのデレゲーションの意味です.
正確な意味でのデレゲーションをrubyはサポートしていないので, フォワーディ
ングのことをデレゲーション(タイプ)の(オブジェクト)利用と呼んでいました.

本の用語にしたがって説明しますと: 

フォワーディングはインスタンス変数の参照しているオブジェクトに処理を任
せることです. Proxyなどもこの部類に入ります. 現在ではデレゲーション(委
譲)というとこの意味で使われていることが多いと思います.

正確な意味でのデレゲーションは, そういう機能を言語が持っていなければ実
現できません. ただし, オブジェクトとクラスの関係やサブクラスとスーパク
ラスの関係はデレゲーションの一種と解釈することもできます.

>それはきれいですね。この調子でひとつの概念を思いつくたびに一つの
>module を作っていくとなかなかすごいことになりそう。module の定義
>は哲学者の仕事になったりして。:-)

まあ. そこまではいいませんが(^^;;;

ただ, 2つのクラスを継承することはできませんので, Arrayの様な一般的なク
ラスはmodule化できれば, 利用価値が多いのでは? と思っています.

>sync.rb ですね。flock みたいなパラメーターが使えるという。

そうです. flockとの違いは, lockの数をカウントしているところです.

sync = Synchronizer.new
sync.synchronize(:SH) do
  ...
  sync.synchronize(:EX) do
    ...
  end
  ...
end

なんてことができるようになっています.

>ふーん、なるほど。ruby の本、面白くなりそうだなあ。(^^

rubyの本(そういう本があるとして(^^;;;)は実践的な本になると思いますよ.

__
.....................................石塚 圭樹@SHLジャパン(株)...
------------->アドレス変わりました!! e-mail: keiju / shljapan.co.jp <----