このコードに出くわしました。
def setup(&block)
@setups << block
end
この行は何をしますか?
@setups << block
「<<」が何をするかに興味があります。
説明書には二交代制のオペレーターと書いてありますが、彼は一緒にいるのですか?
このコードに出くわしました。
def setup(&block)
@setups << block
end
この行は何をしますか?
@setups << block
「<<」が何をするかに興味があります。
説明書には二交代制のオペレーターと書いてありますが、彼は一緒にいるのですか?
配列<<
の場合は append メソッドです。配列の最後にアイテムを追加します。
したがって、特定のケースでは、ブロックを使用して呼び出すsetup
と、ブロックProc
から作成されたオブジェクトが に格納され@setups
ます。
注: sbeamがコメントで指摘しているように、<<
はメソッドであるため、呼び出されるオブジェクトのタイプに応じてさまざまなことを行うことができます。たとえば、文字列の連結、整数のビット シフトなどです。
「ary << obj → ary」ドキュメントを参照してください。
配列の最後に要素をプッシュして配列を構築しています。
手入力はこちら。
<<
Ruby では、通常、 appendを意味するために使用されます。つまり、リストに追加したり、文字列に連結したりします。
Ruby がこれを使用する理由は不明ですが、ライブラリがオブジェクトの変更と変更されたオブジェクトを返すことを大きく区別しているためである可能性があります (オブジェクトを変更するメソッドには!
接尾辞が付いている傾向があります)。このように、<<
は に対応するオブジェクトの変更+
です。