クラスや変数が1つ以上のメソッドにチェーンされているのでしょうか?それはどの戻り値ですか? (Class.method1.method2
- >戻り値は何ですか?)メソッド連鎖の場合、どの戻り値が返されるかはどのように決定できますか?
は、以下の次のコードを考える:この場合
restaurants = []
restaurants << Restaurant.new.import_line(line.chomp)
def import_line(line)
return self
end
を、両方の方法(new
とimport_line(line)
はインスタンスを返すので、私は、インスタンスを入れます知っていますimport_line(line)
場合かかわら配列に。私は好奇心、Restaurant.new.import_line(line.chomp)
の戻り値になり何true
def import_line(line)
return true
end
のようなものを返していました。それが0に設定されますまたはインスタンスを返します(.new
インスタンスを返します)?
本質的に、Class.method1.method2
またはが存在する場合、どのメソッドが戻り値を決定するのが優先されますか?
ご協力いただければ幸いです!
@tadmanでうまく答えました。もう少し進むために、 'object.method1.method2.method3'を実行すると、' object.method1'の結果は 'method2'が呼び出されたオブジェクトになり、結果は' method3'のオブジェクトになりますが呼び出され、その結果が元の呼び出し元に返されます。 – moveson
優れた分析@movesonとありがとう、おまえは。 – the12