我有一个接受代码块的方法。
def opportunity
@opportunities += 1
if yield
@performances +=1
end
end
我这样调用:
opportunity { @some_array.empty? }
但是如果我想要传递多个代码块,以便可以使用yield两次,应该怎么做呢,类似于这样:
def opportunity
if yield_1
@opportunities += 1
end
if yield_2
@performances +=1
end
end
并且:
opportunity {@some_other_array.empty?} { @some_array.empty? }
我知道这个例子可以不用yield来完成,但这只是为了说明问题。
call
的对象都可以工作。 - Kylee.()
方法是.call
的别名吗? - MrYoshiji