Index: [Article Count Order] [Thread]

Date:  Tue, 13 Sep 2005 11:40:41 +0900 (JST)
From:  naka aki <naka_aki_naka_aki@....jp>
Subject:  [modeling-dojo:00460] Re: 複数の側面から分類したいとき
To:  modeling-dojo@....jp
Message-Id:  <20050913024041.93389.qmail@....jp>
In-Reply-To:  <39C5B799238ECCmitsuji@....jp>
X-Mail-Count: 00460

--- MITSUJI Takamasa <mitsuji@....jp> からのメッセージ:
> 面白いですね。インスタンス化してから機能を追加できるんですね。

Rubyだとたまたま(^^;、

> >ありゃ。同じmoduleを再び召還するのは駄目らしいです(^^;;;

という風に敗北しちゃいましたが、
敗北せず、きちん(?)とソレを実現できる言語を作ることは可能でしょうし、
きっと既に実在していると思います。

よく知りませんが、もしかしてJavaScriptとかだと、できるでしょうか?
オブジェクトのprototypeっていう属性を適宜いじると、できるのかな…

prototypeベースのOOP
(というかOO:動的分類を「実際に使える」かどうかは
 実装言語だけじゃなく"考え方"の問題でもあるでしょうから)
だと、結局のところ型とかも属性の一種じゃないかという開き直り(^^;が
できちゃったりするようです。

#そういえば、うろ覚えですがたしかロールプレイングゲームには
#「クラスチェンジ」という言葉があったんではなかったでしょうか?(^^;
#あれですよ、あれ。

状態遷移ならぬ「分類遷移」は、私が即興で考えた造語です。

まあ、あんまりやると、「モデリング」畑からは嫌がられそうですが。
静的分類と動的分類の境界が曖昧になるというか。

> Cの関数ポインタとかC#のデリゲートとかでも同じようなことが
> 出来そうですけど、こんな簡単には出来ないでしょうね。

関数(メソッド)ポインタのような概念がある言語だと
結構楽にできちゃいますね。
デリゲートもメソッドポインタの一種のようですし。

たしかJSも「関数をObjectの属性に代入しておく」ことで
メソッドを実現するのでしたよね…。
その手の言語は、まあ沢山(^^;あるわけですが、
例えばその1つとして個人的に気になってるものとして
Io (http://www.iolanguage.com) というのが有るようです。


__________________________________
 Take an action against poverty
 http://pr.mail.yahoo.co.jp/whiteband/