【发布时间】:2017-11-08 14:23:13
【问题描述】:
我写了下面的代码:
class Pet
attr_accessor :breed, :name, :weight
def initialize(breed, name, weight)
@breed = breed
@name = name
@weight = weight
end
def show_pet
p "Your pet is a #{@breed}, and their name is #{@name}. They weigh #{@weight} lbs."
end
def set_weight(weight)
@weight += weight
self
end
end
pet1 = Pet.new("Chihuahua", "Jill", 5)
pet1.set_weight(5).show_pet
但我并不完全理解它是如何工作的,主要是 self 部分。我希望有人能指出我对方法链接的一个很好的解释。
【问题讨论】:
-
返回
self是提供fluent interface 的一种方式。它允许您通过链接方法调用将多个方法发送到同一个接收者。
标签: ruby method-chaining