IRB で実行するための小さなプログラムがあります。技術的には配列ではありませんが、最終的には配列のように見えるものを出力します。(クラスは配列から継承します。) 問題は、このクラスのインスタンスを実行するとき、たとえば example = Awesome.new(1,2,3) を実行し、"puts example" と記述すると、IRB のデフォルトの動作はそれぞれを配置することです。 example の要素を独自の行に追加します。
だから代わりに
[1,2,3]
(これが私が欲しいものです)、IRBはこれをポップアウトします。
1
2
3
この特別なクラスの puts メソッドをオーバーライドするスマートな方法はありますか? これを試しましたが、うまくいきませんでした。
def puts
self.to_a
end
私が間違っていることは何か分かりますか?
更新:だから私はこれを試しましたが、成功しませんでした。
def to_s
return self
end
したがって、IRB で「example」と入力するだけで、探している動作 ([1, 2, 3] など) が得られます。私が理解していないことは何ですか?