Как я могу напечатать содержание класса? - PullRequest
0 голосов
/ 28 ноября 2009

У меня вопрос новичка! Я хочу сделать что-то вроде этого:

puts Example.new([a,b,c])

и результат будет

=> a,b,c

Я пробовал что-то вроде этого:

class Example
  attr_accessor :something
  def initialize(something)
  @something = something
  puts @something
  end
end

Работает, но не так, как я хочу! Спасибо!

Ответы [ 2 ]

6 голосов
/ 28 ноября 2009

Вы хотите напечатать (в читаемой форме) объект? Попробуйте использовать метод проверки .

class Myobj
  attr_accessor :x, :y, :z
end

a = Myobj.new
a.x = 1; a.y = 2; a.z = 3
a.inspect  #=> "#<Myobj:0x1bc48950 @y=2, @x=1, @z=3>"
5 голосов
/ 28 ноября 2009

Хотелось бы что-нибудь подобное?

class Example
  def initialize(args = [])
    @args = args
  end

  def to_s
    @args.join(",")
  end
end

puts Example.new([1,2,3])
>> 1,2,3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...