我试图看看是否可以使用简单的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
Run Code Online (Sandbox Code Playgroud)
为什么它返回类id而不是函数的输出?
正如在注释中建议的那样,将块传递给new语句是没有意义的.
您可以将代码更改为:
bo = Dog.new('Rusty', 3).tap do |word|
word.bark
end
Run Code Online (Sandbox Code Playgroud)
它会像预期的那样吠叫.:)
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |