本文介绍了Ruby散列中忽略重复键的哪个值会被忽略?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果一个散列有多个指向不同值的相同键的出现次数,那么Ruby如何确定将哪个值分配给该键?
换句话说,换句话说, , hash = {keyone:'value1',keytwo:'value2',keyone:'value3'}
结果
警告:第1行的重复键被忽略::keyone
但我如何知道分配了哪个值至:keyone
?
解决方案
最后一个覆盖以前的值。在这种情况下,value3
成为:keyone
的值。这与 merge
一样。当合并具有相同键的两个散列时,后面的散列(不是接收者,而是参数)中的值会覆盖另一个值。
If a hash has more than one occurrences of identical keys pointing to different values, then how does Ruby determine which value is assigned to that key?
In other words,
hash = {keyone: 'value1', keytwo: 'value2', keyone: 'value3'}
results in
warning: duplicated key at line 1 ignored: :keyone
but how do I know which value is assigned to :keyone
?
解决方案
The last one overwrites the previous values. In this case, "value3"
becomes the value for :keyone
. This works just as the same with merge
. When you merge two hashes that have the same keys, the value in the latter hash (not the receiver but the argument) overwrites the other value.
这篇关于Ruby散列中忽略重复键的哪个值会被忽略?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!