catch
在 Ruby 中意味着跳出深度嵌套的代码。在 Java 中,例如用Java也可以达到同样的效果try-catch
用于处理异常,但它被认为是糟糕的解决方案,而且效率非常低。在 Ruby 中,我们有处理异常的方法begin-raise-rescue
而且我认为将它用于其他任务也太昂贵了。
是红宝石的catch-throw
确实是一个更有效的解决方案begin-raise-rescue
或者是否有任何其他原因使用它来打破嵌套块而不是begin-raise-rescue
?
除了是摆脱控制结构的“正确”方法之外,catch-throw
速度也明显更快(在我的测试中快了 10 倍)。查看这个要点 https://gist.github.com/4122195对于我的代码和结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)