gpt4 book ai didi

Ruby:&= 和 &&= 的区别

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:35 30 4
gpt4 key购买 nike

我觉得我可以用

bool &= true
# and
bool &&= true
# indifferently

两者有区别吗?是否不推荐一种解决方案?

其实

bool = true & false # false

那么 &&& 之间有什么区别呢? (我猜这同样适用于 ||)

最佳答案

尝试以下操作:

x = 5
x |= 2
=> 7

|= 和 &= 等同于按位 x = x | 2 和 x = x & 2

对比

x = 5
x ||= 2
=> 5

在第二条语句中,x ||= 2,表示x = 2如果x为nil,否则为x。( x = (x || 2) ;表达式 x || 2 如果 x 不是 nil 则返回 x,否则返回 2。

x ||= 'foo' 实际上在 Ruby 中很常见(set x to foo is is not already set)

x = (x & 3)(相当于x &= 3),返回3(第二个操作数)除非x为0,否则返回0 ))

同样的逻辑适用于 &,但我更容易找到一个关于 | 的例子。

=)

关于Ruby:&= 和 &&= 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21257595/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com