只是想知道!!Ruby中有什么。
3 回答
慕森王
TA贡献1777条经验 获得超3个赞
不是这样的。它用于将值转换为布尔值:
!!nil #=> false
!!"abc" #=> true
!!false #=> false
尽管通常不需要使用,因为Ruby唯一的错误值是niland false,因此通常最好让该约定成立。
认为是
!(!some_val)
合法使用的一件事是防止返回大量数据。例如,您可能不想在您的has_image?方法中返回3MB的图像数据,或者您可能不想在logged_in?方法中返回整个用户对象。使用!!将这些对象转换为简单的true/ false。
偶然的你
TA贡献1841条经验 获得超3个赞
true如果右边的对象不是nil和不是false,false则返回,如果是nil或,则返回false
def logged_in?
!!@current_user
end
- 3 回答
- 0 关注
- 514 浏览
添加回答
举报
0/150
提交
取消