Ruby のクラスでコンストラクタを定義したいときは、initialize というメソッドを使用します。
ここでインスタンス変数などを初期化します。
class Person
def initialize(name)
@name = name
end
end
initialize メソッド自体は private メソッドとして定義されるので、インスタンスを作成するときは暗黙的に定義されている new メソッドを呼び出します。
new を呼び出すと、Ruby 内部では、初期化されていないオブジェクトが生成されて、initialize メソッドが呼び出されます。
p = Person.new("makkuma")
puts p.inspect # => #<Person:0x10016a160 @name="makkuma">
上記の例では、Object クラスに定義されている inspect メソッドを使ってオブジェクトの内容を取得しています。