Vous pourrez vous reconnecter et utiliser la même méthode.
class Hoge
def foo
self
end
end
Hoge.new.foo
#<Hoge:0x00007f92612b2e38>
Hoge.new.foo.foo.foo.foo
#<Hoge:0x00007f92618c82a0>
De cette manière, puisque la valeur de retour est du même type, il est possible d'utiliser à nouveau la même méthode.
a.method b
Dans cette situation, la valeur de retour sera le récepteur a. Donc
c = a.method b
Ensuite, le même type que a est émis vers c.
Contient des variables d'instance et compte le nombre de fois qu'une méthode est appelée.
class Hoge
def foo
@a.nil? ? @a = 1 : @a = @a + 1
self
end
end
Hoge.new.foo
=> #<Hoge:0x00007f92618c2080 @a=1>
Hoge.new.foo.foo.foo.foo
=> #<Hoge:0x00007f92618a0a98 @a=4>
Ensuite, vous pouvez voir que la valeur de @a est incrémentée du nombre de fois que la méthode foo est appelée.
Recommended Posts