Метод экземпляра выводит только идентификатор класса, а не метод вывода - PullRequest
0 голосов
/ 26 сентября 2018

Я пытался посмотреть, смогу ли я передать атрибуты переменной экземпляра, используя простое выражение do.

class Dog
  def initialize(name, age)
    @name = name
    @age = age
  end

  def bark
    puts 'Woof'
    puts 'Woof'
    puts 'Woof'
  end
end

bo = Dog.new do |word|
  word.bark
end

Почему он возвращает идентификатор класса вместо вывода функции?

1 Ответ

0 голосов
/ 26 сентября 2018

Как предлагается в комментариях, передача блока в оператор new не имеет смысла.

Вы можете изменить свой код на:

bo = Dog.new('Rusty', 3).tap do |word|
  word.bark
end

, и он будет лаять, как ожидается.:)

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