Ruby语法&&=&引用;
以下方法中的Ruby语法&&=&引用;,ruby,Ruby,以下方法中的&&=是什么意思 records.each do |record| raise_on_type_mismatch!(record) add_to_target(record) do |rec| result &&= insert_record(rec, true, should_raise) unless owner. new_record? end end a&&=b是一个缩写形式(又称语法糖),用于: 此简短表格适用于操作员(包括
&&=
是什么意思
records.each do |record|
raise_on_type_mismatch!(record)
add_to_target(record) do |rec|
result &&= insert_record(rec, true, should_raise) unless owner.
new_record?
end
end
a&&=b
是一个缩写形式(又称语法糖),用于:
此简短表格适用于操作员(包括但不限于)+
、-
、/
、*
、%
、**
、^
、
、
、
、&
、
,)
(有关以下内容的完整列表,请归功于@Stefan):
&
是一个逻辑andaka“,而|
是逻辑andaka”。这意味着如果结果的上一个值为false
或为nil
,则保留它并进一步跳过插入记录
调用,否则,将result
的值设置为insert\u record
的返回值我不确定末尾的代码示例是否足够清晰。你能简单地描述一下&
与|
的区别吗?&&
和|
都是逻辑运算符。二进制的是&
和|
@Stefan当然,为什么?啊,我猜“布尔和”(不是“二进制”)是误导。改变了。实际上,a&&=b
是a&&a=b
的缩写,而a||=b
是a|a=b
的缩写,就像他在回答中暗示的@Aetherus。@Silverphone确实如此。谢谢
a && a = b
a = 5
a += 5
#⇒ 10
a = true
a &&= true
#⇒ true
a &&= false
#⇒ false