[#44310] プログラムに対して意図したとおりの文字列を渡す方法 — "Information Kanasansoft" <kanasansoft@...>

kanasanです。

9 messages 2007/12/05

[#44332] クラス:相互参照系の作成方法について質問です — "Saburoh Sakai" <sabroh@...>

はじめまして、さかいと申します。

12 messages 2007/12/11

[#44366] Rake改善プロジェクト — "Hajime Hoshi" <hajimehoshi@...>

東京大学修士 1 年の星一と申します。

14 messages 2007/12/19

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

From: "Saburoh Sakai" <sabroh@...>
Date: 2007-12-11 16:49:28 UTC
List: ruby-list #44332
はじめまして、さかいと申します。
日頃はCやC++を使っておりますが、
Rubyの勉強を最近始めました。
WEBでの情報収集はしているのですが、
どうしてもわからないことがあり、今回
ここで質問させて頂きます。

現在、互いを相互に参照するクラスの系を作りたいのですが、
そのようなことはRubyで可能でしょうか?
いわゆる「循環参照」を実現させたいわけなのです…。
具体的には以下のようなことです。

class A
 b=B.new() ★
end

class B
 a=A.new()
end

このようなコードを書いても、★の行で、Bというクラスなどは
知らないと言われ、エラーとなってしまいます。
C++におけるクラスのプロトタイプ宣言のように、そのクラスの
存在のみ記述しておき、実装の記述を後からする、といった
ようなことがしたいのですが、実現方法を教えて頂けると
助かります。

よくWEBを調べていると、「RubyのGCは循環参照に対応している」
という記述はよく見るのですが、肝心の循環参照の実現方法
が知りたいわけです。

実際には、A,B,C,…E といった具合に、複数のクラスで相互
参照が入り乱れて行われるような系を構築したいのです。
以上、初歩的なことかも知れずすみませんが、ご教授のほど、
よろしくお願いします。

In This Thread

Prev Next