下面的代码在Ruby中是什么意思?
||=
它的语法有什么意义或原因吗?
下面的代码在Ruby中是什么意思?
||=
它的语法有什么意义或原因吗?
当前回答
X ||= y表示
如果x有任何值,不要改变它的值,否则 将x设为y
其他回答
这就像延迟实例化。 如果变量已经定义,它将获取该值,而不是重新创建该值。
x ||= y
is
x || x = y
"如果x为假或未定义,则x指向y"
还请记住||=不是原子操作,因此,它不是线程安全的。根据经验,不要将它用于类方法。
这是默认的赋值表示法
例如:x ||= 1 这将检查x是否为nil。如果x确实为nil,那么它就会赋给它一个新值(在我们的例子中是1)
更明确的表示: 如果x == nil X = 1 结束
X ||= y表示
如果x有任何值,不要改变它的值,否则 将x设为y