ruby深く研究する6
550 ワード
m = Proc.new { puts "fuck" }
m1 = proc { puts "fuck1" }
def my_method
yield
end
def my_method1(obj)
obj.call
end
my_method(&m) #=> fuck
my_method(&m1) #=> fuck1
my_method1(m) #=> fuck
my_method1(m1) #=>fuck1
&m #=> syntax error, unexpected tAMPER, expecting $end
説明ブロック変換オペレータ&メソッドの呼び出し時のパラメータカッコでのみ意味があり、他の場合は構文エラーです.
ブロック変換子&変換を使用しない場合は、callでブロックを呼び出します.