メソッドの引数の前にアンパサンドを使用して、途中でブロックが見つからない場合にエラーを出力するyieldの使用を避けることを理解しています。
ただし、プロシージャをブロックに戻すために、メソッドを呼び出すときに引数の前に & を使用することがあります。最終的には 2 つのアンパサンドがあり、1 つはブロックを proc に変換するためのもので、もう 1 つはその反対のものです。
どのようだ?!proc からブロックを取得するためにアンパサンドを付ける必要があるのはいつですか? その理由は?
英語を母国語としないと、難しい質問をするのが難しくなる可能性があるため、明確であるといいのですが。
例
この例は、 http: //courseware.codeschool.com/ruby_bits_2/ruby_bits_2_level_1.pdf にある CodeSchool のスライドから引用しました。
class Timeline
attr_accessor :tweets
def each(&block)
tweets.each(&block)
end
end