У меня есть небольшая программа, предназначенная для запуска в IRB. В конечном итоге он выводит что-то похожее на массив, хотя технически это не массив. (Класс наследуется от массива. )Проблема в том, что когда я делаю экземпляр этого класса, т.е. example = Awesome.new (1,2,3 ), и я пишу «помещает пример», поведение IRB по умолчанию заключается в том, чтобы поместить каждый элемент примера в отдельную строку.
Поэтому вместо
[1,2,3]
(это то, что я хочу ), IRB выскакивает это.
1
2
3
Есть ли умный способ переопределить метод puts для этого специального класса? Я пробовал это, но это не сработало.
def puts
self.to_a
end
Любая идея, что я делаю неправильно?
Обновление :Итак, я попробовал это, но безуспешно.
def to_s
return self
end
Поэтому, когда я нахожусь в IRB и просто набираю «пример», я получаю поведение, которое я ищу (, то есть [1, 2, 3].Так что я подумал, что могу просто вернуть себя, но я все еще что-то путаю, видимо. Что я не понимаю?