Rubyリファレンス: Home

new (Class)

Edit   History

標準クラス・モジュール > Class > new

klass.new(arg, ...)

newメソッドは、そのクラスのインスタンスであるオブジェクトを作成します。また、作成したオブジェクトに対してinitializeメソッドを呼び出します。戻り値は新しいオブジェクトです。

newメソッドに引数を渡すと、その引数はinitializeメソッドに渡されます。

class Cat
  def initialize(name, color)
    puts "initialize called!"
    @name = name; @color = color
  end
end
 
cat = Cat.new("Tama", "white")
initialize called!

詳細

String.newCat.newのように呼び出すnewの実体は、ここで解説しているClassクラスのインスタンスメソッドnewです。

new (String)new (Array)で解説しているクラスメソッドnewの仕様は、実際には各クラスのインスタンスメソッドであるinitializeの仕様です。

関連項目