我试图看看是否可以使用简单的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而不是函数的输出?
正如在评论中建议的那样,将块传递给new
语句是没有意义的。
您可以将代码更改为:
bo = Dog.new('Rusty', 3).tap do |word|
word.bark
end
它会像预期的那样吠叫。 :)