Ruby では、新しいクラスを作成するときに、コンストラクター メソッドを次のように定義します。
class Thing
def initialize
do_stuff
end
end
ただし、実際にオブジェクトのインスタンスを作成すると、インスタンスではなくクラスを呼び出しinitializeていることに気付きます。new
では、代わりに を定義してみません::newか?
class Thing
def self.new
do_stuff
end
end
定義されていない::newシーンの背後にあるものはありますか? initalizeあの二人は全然違うの?定義は::new機能しますか? それとも、def initializeより短い(ではない)だけdef self.newですか?
格差にはそれなりの理由があるに違いないと思う。