我自己在 Ruby 代码中看到和使用过很多,但在实际应用中||=
我几乎从未见过或使用过。&&=
有用例&&=
吗?
问问题
130 次
3 回答
3
不是油嘴滑舌,但显而易见的用例是任何时候你会说x && foo
并希望将结果存储回x
. 这是一个:
list = [[:foo,1],[:bar,2]]
result = list.find{ |e| e.first == term }
result &&= result.last # nil or the value part of the found tuple
于 2013-04-13T15:46:21.230 回答
0
您希望确保对所有元素的布尔条件的评估对所有元素都返回 true 的任何类型的迭代。
例如
result = true
array.each do |elem|
# ...
result &&= condition(elem) # boolean condition based on element value
end
# result is true only if all elements return true for the given condition
于 2013-04-13T18:44:17.127 回答
-2
文件的验证,例如,
a = {'a' => ['string',123]}
其中的元素a['a']
应该是 a String
。为了验证它们,我认为你可以使用,
def validate(doc, type)
valid = true
doc.each{|x|
valid &&= x.is_a? type
}
valid
end
1.9.3p392 :010 > validate(a['a'],String) => false
于 2013-04-13T15:39:44.043 回答