我试图查看是否可以使用简单的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而不是函数的输出?
答案 0 :(得分:5)
正如注释中所建议的那样,将块传递到new
语句没有任何意义。
您可以将代码更改为:
bo = Dog.new('Rusty', 3).tap do |word|
word.bark
end
,它将按预期吠叫。 :)