【发布时间】:2013-03-09 16:13:45
【问题描述】:
David A. Black 在他的书中说:
Dangerous 可以表示编写该方法的人想要的任何含义。在内置类的情况下,它通常意味着这个方法,不像它的非爆炸等价物, 永久修改其接收器。但并不总是这样:退出!退出程序是一个危险的替代方案,因为它在退出程序时不会运行任何终结器。
潜艇的危险! (一种用替换字符串替换字符串中匹配模式的方法)部分是它改变了它的接收者,部分是它返回
nil如果没有发生任何变化 - 不像 sub,它总是返回原始字符串的副本更换(或不更换)。
虽然上面都明白了,但是没看懂下面他想说什么。
此外,不要假设 bang 方法和破坏性方法之间存在直接关联。它们经常重合,但它们不是一回事。
我们可以根据什么概念对方法进行分类并将其放入破坏性或危险性列表中?
【问题讨论】:
标签: ruby