0

SpecialArray というクラスを作成しました。irb が表示する出力の種類をカスタマイズしたいと思います。インスタンス変数 test_array を作成し、SpecialArray を使用して配列を生成し、irb に「test_array」と入力すると、次のようになります。

1.9.3p194 :051 > test_array
=> [1, 2, 0, 6, 11]

そして、「puts」を使用すると、irb は次のようにオブジェクトを返すだけです。

1.9.3p194 :054 > puts test_array
#<SpecialArray:0x007ff05d0b4960>        

しかし、irb を最初の例のように動作させたいと思います。ここでは、"test_array:" と入力しただけです (つまり、配列を 1 行で返したいのです)。デフォルトの puts メソッドを独自のメソッドでオーバーライドしようとしましたが、これを行う方法について何か提案はありますか?

4

1 に答える 1

0

Test_array はオブジェクトであり、オブジェクトに対して puts を直接呼び出すと、通常はインスタンスが返されます。

puts メソッドで次を使用する必要があります。

puts test_array.to_s
于 2012-06-27T17:54:47.210 に答える