私はいくつかのメソッドチェインをしたいと思っています。だから、メソッドがチェーンされているときの検出
class MyClass
attr_accessor :handler
def do_a
puts 'i just did a'
self.handler = 'a'
self
end
def do_b_if_a
puts 'i just did b' if handler == 'a'
end
end
次作品:私は、次のコードを持っている
私が仕事をしたい、私はそれが今do_b_if_aができることを意味ハンドラを設定する第1の時間do_a呼び出したときにされてはいけない何irb > test = MyClass.new
=> #<MyClass:0x007fa44ced9a70 @handler=nil>
irb > test.do_a
'i just did a'
irb > test.do_a.do_b_if_a
'i just did a'
'i just did b'
いつでも呼び出されます。しかし、do_aで連鎖されているときだけ呼び出すことができます。どうすればいいですか?
問題はまだオブジェクトにアクセスする必要があることです。 –
オブジェクトへのアクセスはどういう意味ですか? – Jwosty