2007年12月12日

[ruby-list:44333] Re: クラス:相互参照系の作成方法について質問です

From: "Saburoh Sakai" <sabroh@xxxxx>
Subject: [ruby-list:44332] クラス:相互参照系の作成方法について質問です
Date: Wed, 12 Dec 2007 01:49:28 +0900

るびきちです。

> 現在、互いを相互に参照するクラスの系を作りたいのですが、
> そのようなことはRubyで可能でしょうか?


可能です。

> いわゆる「循環参照」を実現させたいわけなのです…。
> 具体的には以下のようなことです。
> (snip)
> class A
> b=B.new() ★
> end

ただ、このbはローカル変数なのでメソッドからは参照できません。
おそらくクラス変数なんでしょう。
ということで、以下のコードでもクラス変数として宣言しておきました。

こんな感じに空のクラスを宣言しておきます。
そうすることで実装を記述するときにお互いのクラスが見えるようになります。

class A; end
class B; end

class A
@@b = B.new # => #<B:0xb7dc77d0>
end

class B
@@a = A.new # => #<A:0xb7dc75b4>
end

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/

投稿者 xml-rpc : 2007年12月12日 03:08
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67532
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。