在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}
|
操作符会创建一个新的哈希,包含两个哈希中的所有键值对。如果两个哈希有相同的键,新的哈希会使用最后一个哈希的值。
这些方法都可以用来合并哈希。你可以根据自己的需求选择合适的方法。