我正在写一个库迭代一个集合,并调用集合中每个项目的调用者的proc。例如:如何检测何时在调用者Proc中调用“break”?
def self.each(&block)
# ... load some data into results_array
results_array.each do |result|
status = block.call(result)
# how do I know to call break if the user calls break?
break if status == false
end
end
目前,你可以在我的代码中看到的,我检查,以打破“最后评估表达”。这看起来很容易出错,因为最终用户可能有一个完美有效的理由,将他们的最后一个表达式评估为false。更合适的是使用“break”来检测来电者。
如何知道如果用户呼叫休息时打电话休息?