From: matz@... (Yukihiro Matsumoto) Date: 2001-05-02T07:16:58+09:00 Subject: [ruby-talk:14515] Re: Overloading Constructors. Hi, In message "[ruby-talk:14500] Re: Overloading Constructors." on 01/05/02, "Florian G. Pflug" writes: |> class DbConnection < Mysql |> def DbConnection.new(*args) |> conn = super(*args) |> conn.initialize(*args) |> return conn |> end |> def initialize(host, db, user, pass) |> print "In Constructor\n" |> end |> end |> con = DbConnection.new("localhost","rubytest","root", "") | |Hi | |This works, thank you! | |But it has to be just "initialize" instead of "conn.initialize" - otherwise |ruby complaing about calling an private function unsing an expicit receiver. Oops, I forgot that initialize was private method. conn.__send__(:initialize, *args) or conn.instance_eval{initialize(*args)} would do. Just "initialize" would invoke the method of the DbConnection class. matz.