Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Object | to_s

概要

Object#to_s -> String

詳細

オブジェクトの文字列表現を返却。
Kernel.#print や 文字列の変数展開などの際に呼び出される。

サンプルコード
Person = Struct.new(:name, :age)
tanaka = Person.new('tanaka', 34)

print tanaka.to_s, "\n"
print "#{tanaka}", "\n"

class << tanaka
  def to_s
    <<-EOS
name = #{name}
age = #{age}
    EOS
  end
end

print tanaka.to_s, "\n"
print "#{tanaka}", "\n"

出力

#<struct Person name="tanaka", age=34>
#<struct Person name="tanaka", age=34>
name = tanaka
age = 34

name = tanaka
age = 34