読者です 読者をやめる 読者になる 読者になる

Ruby でユーザクラスの標準出力をカスタマイズする

Ruby ではオブジェクトを出力する場合、 #to_s が出力されるのでそれを利用する。

class Person
    def initialize name, age
        @name, @age = name, age
    end

    def to_s
        "name : #{@name}, age : #{@age}"
    end
end

homu = Person.new "homu", 14
puts homu
# => name : homu, age : 14

しかし、#to_s はあくまでも『文字列へ変換するメソッド』であってそれがイコール『標準出力したいもの』とは限らないので専用のメソッドがほしいですねぇ。
どうにかして『標準出力だけ』を拡張できないものか。