ぽっくるのITざっき

IT関連技術についての覚え書きです。不定期更新です。

【Ruby】 複数のinitializeは定義できない?

2007-12-09 00:42:36 | Weblog
Rubyで1つのクラスに複数のinitializeを定義した。

class a
 def initialize( param1 )
 ...
 end

 def initialize( param1, param2 )
 ...
 end
end

obj = a.new( "a" ) # NG
obj = a.new( "a1", "a2" ) # Good

オブジェクト生成時に1つだけパラメタを指定したところ、パラメタの数が足りないとのエラー。2つのinitializeの順番を入れ替えてみたが同じ。
  →うそ。最後に定義されているinitializeが使用される。
Rubyのクラスではコンストラクタを複数もてないのか?

【Rubyバージョン】1.8.6-p111-i386-mswin32
【OS】Windows XP Professional Edition + SP2