こんにちわ、オオバです。

Rubyには2種類のインスタンス生成関数が存在する。

MyLogger.new("foo")  

と言う風に書くと Class.newがインスタンス生成。

2つの違いは実行時にinitialize関数が呼ばれるか、
呼ばれないかの違いです(だと思っています)。

class MyLogger  
    def initialize(name)  
    # do something  
    end  
end  

先のnew関数でインスタンスを生成すればinitialize関数が実行されます。
生成時に引数を与えたい場合はnewが良いのかなと思います。

MyLogger.new

ちなみにコンストラクタに引数を付けない場合は括弧さえ不要。

MyLogger.allocateの場合はinitializeは呼ばれません。

期間限定 最大95%オフセール
効率UPメガバンドル開催中!最大95%オフ!!!
期間 : 11月1日午後15時59分まで
オススメ記事