当前位置:  开发笔记 > 后端 > 正文

Ruby对象空白?方法

如何解决《Ruby对象空白?方法》经验,为你挑选了1个好方法。

有人可以详细解释这个Object方法(我的意思是这里使用的语法:空?,!!空?和!self):

def blank?
  respond_to?(:empty?) ? !!empty? : !self
end

或者也许建议好书来阅读主题.



1> fl00r..:

如果self有方法empty?则返回double not empty?否则返回single not self.

not(!)是Ruby中用于将任何对象转换为布尔值的惯用方法

single not(!)返回false用于任何truthytrue任何falsey对象.

double not(!!)返回true用于任何truthyfalse任何falsey对象.

Ruby中的虚假对象是,nil而且false任何其他对象都是真实的.

所以.基本上respond_to?(:empty?) ? !!empty? : !self检查当前对象是否已定义方法empty?,如果此方法返回任何真实或假的错误响应,则返回true.如果empty?未定义,则如果self不是falsenil(任何falsey对象),它将始终返回false .

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有