在Ruby中,可以使用多种方法来合并哈希。以下是一些常用的方法:
merge
方法:hash1 = {a: 1, b: 2}
hash2 = {b: 3, c: 4}
merged_hash = hash1.merge(hash2)
puts merged_hash # 输出:{:a=>1, :b=>3, :c=>4}
注意:如果两个哈希有相同的键,merge
方法会使用第二个哈希的值覆盖第一个哈希的值。
merge!
方法:hash1 = {a: 1, b: 2}
hash2 = {b: 3, c: 4}
hash1.merge!(hash2)
puts hash1 # 输出:{:a=>1, :b=>3, :c=>4}
merge!
方法会直接修改原始哈希,而不是创建一个新的哈希。
|
操作符:hash1 = {a: 1, b: 2}
hash2 = {b: 3, c: 4}
merged_hash = hash1 | hash2
puts merged_hash # 输出:{:a=>1, :b=>3, :c=>4}
|
操作符会创建一个新的哈希,包含两个哈希中的所有键值对。如果两个哈希有相同的键,新的哈希会使用最后一个哈希的值。
这些方法都可以用来合并哈希。你可以根据自己的需求选择合适的方法。