Ruby中的双&符号

我正在使用 Ruby on Rails的authlogic gem,我一直在使用以下内容获取当前登录用户的id:
current_user = UserSession.find
id = current_user && current_user.record.id

我不明白current_user&& current_user.record.id返回当前用户ID.我认为这将返回一个布尔值.谁能解释一下这是如何工作的?

解决方法

逻辑和短路.这意味着如果构造是X&& Y和X是假的,然后Y永远不会被检查,因为整个事情肯定会产生错误.

代码基本上是这样说的:

if (current_user is TRUE) {
    id = current_user.record.id;
]

这里有一些控制台输出显示如果第一个值为真,你得到第二个值:

irb(main):005:0> true && 9
=> 9

如果第一个是零,则为零:

irb(main):008:0> nil && 9
=> nil

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...