Index: [Article Count Order] [Thread]

Date:  Mon, 12 Sep 2005 19:48:06 +0900 (JST)
From:  naka aki <naka_aki_naka_aki@....jp>
Subject:  [modeling-dojo:00453] Re: 複数の側面から分類したいとき
To:  modeling-dojo@....jp
Message-Id:  <20050912104806.65665.qmail@....jp>
In-Reply-To:  <002501c5b53f$547afac0$7930290a@mitsuji6>
X-Mail-Count: 00453

--- MITSUJI Takamasa <mitsuji@....jp> からのメッセージ:
> Rubyは勉強したことがないので分かりません。何か新しいことが出来るのでしょうか。

RubyだとObject#extend(
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Object#extend )
なんてな真似ができるんで、
動的分類を正にやれちゃうかな、と思った…んですが、

#クラス、モジュール定義
module M処理済み
	def hoge; puts "処理済み!"; end
end
module M未処理
	def hoge; puts "未処理!"; end
end
class C修正提案
end

#呼び出し
c=C修正提案.new
c.extend(M未処理)
c.hoge
c.extend(M処理済み)#分類遷移!
c.hoge
c.extend(M未処理)  #また最初の分類に戻れ!
c.hoge
c.extend(M処理済み)
c.hoge

#実行&結果
$ ruby -Ks a.rb
未処理!
処理済み!
処理済み!  (←ここが未処理になるのを期待してたんだけど…)
処理済み!

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


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