Ruby a = 1 && b = a 返回什么结果呢?

cantin · 2012年08月24日 · 最后由 zhaoguobin 回复于 2012年08月25日 · 2779 次阅读

rt

单纯猜想的话,各位的结果是什么呢?

另外: a = 1 && b = 2, 结果如何呢?

自己在 irb 试- -

哦。。可能因为是在同一行,所以执行到右边 a 实际上还没初始化..纠结啊

1.9.3p194 :001 > a = 1 && b = a => nil #3 楼 @jjym

你猜 (a = 1) && (b = a) 什么结果?

@reus

(a = 1) && (b = a)
#=> 1
a
#=> 1
b
#=> 1

@jjym &&的优先级比=

a = 1 && b = a
#=> nil
a
#=> nil
b
#=> nil

a = (1 && (b = a))

#6 楼 @tumayun

...换成优先级低的 and 就 OK...太容易记错了,其实&&和 and 保持一致多好

#8 楼 @jjym 我觉得还是用&&再加括号稳妥,and 更容易中招

需要 登录 后方可回复, 如果你还没有账号请 注册新账号