实例方法仅输出类ID,而不输出方法

时间:2018-09-26 18:14:33

标签: ruby

我试图查看是否可以使用简单的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

为什么它返回类ID而不是函数的输出?

1 个答案:

答案 0 :(得分:5)

正如注释中所建议的那样,将块传递到new语句没有任何意义。

您可以将代码更改为:

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

,它将按预期吠叫。 :)