Ruby 哈希表(Hash)是一種非常實(shí)用的數(shù)據(jù)結(jié)構(gòu),它允許我們存儲(chǔ)鍵值對(duì)(key-value pairs)。以下是一些 Ruby 哈希表的實(shí)用工具:
{}
或 Hash.new
方法創(chuàng)建一個(gè)空的哈希表。例如:hash1 = {} # 創(chuàng)建一個(gè)空哈希表
hash2 = Hash.new # 創(chuàng)建一個(gè)空哈希表,并提供一個(gè)默認(rèn)值
[]
操作符或 []=
操作符向哈希表中添加鍵值對(duì)。例如:hash1["name"] = "Alice" # 添加一個(gè)鍵值對(duì),鍵為 "name",值為 "Alice"
hash2["age"] = 30 # 添加一個(gè)鍵值對(duì),鍵為 "age",值為 30
name = hash1["name"] # 返回 "Alice"
age = hash2["age"] # 返回 30
has_key?
方法檢查哈希表中是否存在某個(gè)鍵。例如:hash1.has_key?("name") # 返回 true
hash1.has_key?("address") # 返回 false
delete
方法刪除哈希表中的某個(gè)鍵值對(duì)。例如:hash1.delete("name") # 刪除鍵為 "name" 的鍵值對(duì),返回被刪除的值(即 "Alice")
each
方法遍歷哈希表中的所有鍵值對(duì)。例如:hash1.each do |key, value|
puts "#{key}: #{value}"
end
這將輸出:
name: Alice
merge
方法合并兩個(gè)哈希表。例如:hash1 = {"name" => "Alice", "age" => 30}
hash2 = {"age" => 31, "city" => "New York"}
merged_hash = hash1.merge(hash2) # 合并 hash2 到 hash1,返回新的哈希表
這將返回:
{"name" => "Alice", "age" => 31, "city" => "New York"}
注意:在合并哈希表時(shí),如果兩個(gè)哈希表中有相同的鍵,那么后一個(gè)哈希表中的值將覆蓋前一個(gè)哈希表中的值。