saw*_*awa 5 ruby string boolean
在Ruby中,""关于条件,空字符串是真的.我看到很多人都在为这个事实而苦苦挣扎.Ruby on Rails blank?是尝试克服这个问题的一种尝试.另一方面,当这种说明变得方便时,并不是立即显而易见的.是否有任何用例,这个事实变得方便,否则会出现理论上的问题?
saw*_*awa 10
我想我想出了答案.可能是出于理论上的原因和效率的原因.理论上,在单个类的不同实例之间绘制一条线比在类之间绘制一条线更复杂,并且需要更多的计算.如果""是错误的,那么每当条件中存在字符串时,Ruby内部就必须检查字符串的长度.相反,如果真相只能由阶级来判断,那恰好就是这种情况,那么它就会更有效率.也许这也是为什么false和true不归入单一类Boolean但分别属于独立类的原因.
另一种可能性是,只有一个false和的实例nil,因此在Ruby内部处理它只需要检查指针/对象id,而字符串是可变的,并且需要更多的复杂性来检查空白.
减少被认为是假的事物的数量是一件好事。它简化了语言,简化了布尔规则,使它们易于记忆和应用,从而减少了错误。
试想一下,在混乱PHP是:false,0,0.0,'0','',null和array()都是falsey之后,每天都保持惊人的许多人。
如果要测试一个空字符串,请测试一个空字符串。您应该知道您的变量是包含字符串还是布尔值,并能够进行相应的测试。
| 归档时间: |
|
| 查看次数: |
6331 次 |
| 最近记录: |