Ruby中的两个例子:
def invoke_block(&block)
block.call
end
def invoke_block(&block)
instance_eval(&block)
end
为什么instance_eval
需要&
?
答案 0 :(得分:4)
为什么
instance_eval
需要&
?
因为instance_eval
接受字符串或块。它不接受Proc对象(在这种情况下是block
所指的名称)。因此,您使用运算符&
将proc解压缩到块中。