猿问

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

只是想知道!!Ruby中有什么。



慕无忌1623718
浏览 515回答 3
3回答

慕森王

不是这样的。它用于将值转换为布尔值:!!nil   #=> false!!"abc" #=> true!!false #=> false尽管通常不需要使用,因为Ruby唯一的错误值是niland false,因此通常最好让该约定成立。认为是!(!some_val)合法使用的一件事是防止返回大量数据。例如,您可能不想在您的has_image?方法中返回3MB的图像数据,或者您可能不想在logged_in?方法中返回整个用户对象。使用!!将这些对象转换为简单的true/ false。

偶然的你

true如果右边的对象不是nil和不是false,false则返回,如果是nil或,则返回falsedef logged_in?     !!@current_userend
随时随地看视频慕课网APP

相关分类

Ruby
我要回答