Формат печати объектов Ruby - PullRequest
1 голос
/ 03 декабря 2008

Рассмотрим следующее:

irb(main):001:0> class A
irb(main):002:1> def initialize
irb(main):003:2> @string = "my string"
irb(main):004:2> end
irb(main):005:1> def to_s
irb(main):006:2> puts @string
irb(main):007:2> end
irb(main):008:1> end
=> nil
irb(main):009:0> a = A.new
=> #<A:0x2ea606c @string="my string">
irb(main):010:0> puts a
my string
#<A:0x2ea606c>
=> nil

Когда команда "выводит" выводит строку my, она также добавляет ссылку на объект?

Есть ли способ избавиться от этого поведения? То, что я хочу выразить, это просто строка @string, как определено в методе класса to_s

Спасибо

RM

1 Ответ

4 голосов
/ 03 декабря 2008

Вы хотите, чтобы ваш метод to_s просто возвращал @string, а не делал puts @string.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...