eee*_*ean 3 ruby boolean negation
ActiveSupport Object使用实例方法扩展blank?:
class Object
def blank?
respond_to?(:empty?) ? !!empty? : !self
end
end
Run Code Online (Sandbox Code Playgroud)
可以!!empty?写成empty?呢?这是一个风格选择,以便它作为返回布尔值的方法轻松读取?或者还有其他什么?
这样做的原因是!!强制从空到布尔的响应.可以在不同的对象上以不同方式定义Empty,因此rails中的某个人可能已经定义.empty?为不返回布尔值.由于.blank?需要返回一个布尔值,!!因此需要确保返回一个布尔值.
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |