为了账号安全,请及时绑定邮箱和手机立即绑定

什么!在红宝石中意味着什么?

什么!在红宝石中意味着什么?

慕无忌1623718 2019-10-17 10:32:32
只是想知道!!Ruby中有什么。
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

不是这样的。它用于将值转换为布尔值:


!!nil   #=> false

!!"abc" #=> true

!!false #=> false

尽管通常不需要使用,因为Ruby唯一的错误值是niland false,因此通常最好让该约定成立。


认为是


!(!some_val)

合法使用的一件事是防止返回大量数据。例如,您可能不想在您的has_image?方法中返回3MB的图像数据,或者您可能不想在logged_in?方法中返回整个用户对象。使用!!将这些对象转换为简单的true/ false。


查看完整回答
反对 回复 2019-10-17
?
偶然的你

TA贡献1841条经验 获得超3个赞

true如果右边的对象不是nil和不是false,false则返回,如果是nil或,则返回false


def logged_in?   

  !!@current_user

end


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 485 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信