weixin_42297511 2008-10-24 17:57
浏览 235
已采纳

!!some_function 里面的双叹号啥意思

如题,在restful_authentication这个gems中看到这么一段,搞不懂这里的这个双叹号是啥意思,
[code="ruby"] def logged_in?
!!current_user
end
# Accesses the current user from the session.
# Future calls avoid the database because nil is not equal to false.
def current_user
@current_user ||= (login_from_session || login_from_basic_auth || login_from_cookie) unless @current_user == false
end
[/code]
哪位能给解释下么,谢谢 :D
[b]问题补充:[/b]
如果就是两个 否 , 为何不直接用

def logged_in?

!!current_user

end

呢?
[b]问题补充:[/b]
如果就是两个 否 , 为何不直接用

def logged_in?

current_user

end

呢?
[b]问题补充:[/b]
哦,明白了!
这里loggged_in?要求返回的是boolean,不能是object
谢谢

  • 写回答

1条回答 默认 最新

  • Open2ye 2008-10-24 22:49
    关注

    就是两个否

    current_user 会返回一个 model 的实例

    !current_user 是 false

    !false 就是 true 喽

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!