Ruby哈希
Ruby哈希是唯一鍵及其值的集合。 它們與數組類似,但數組只能使用整數作爲索引,哈希使用任何對象類型。 它們也稱爲關聯數組,字典或映射。
如果使用不存在的鍵訪問哈希,則將返回nil
。
語法
name = {"key1" => "value1", "key2" => "value2", "key3" => "value3"...}
OR
name = {key1: 'value1', key2: 'value2', key3: 'value3'...}
創建Ruby哈希
Ruby哈希是通過在{}
花括號中編寫鍵值對來創建的。要獲取哈希值,請在[]
方括號內寫入所需的鍵名稱。
示例
#!/usr/bin/ruby
# file : hashes-create.rb
color = {
"Rose" => "red",
"Lily" => "purple",
"Marigold" => "yellow",
"Jasmine" => "white"
}
puts color['Rose']
puts color['Lily']
puts color['Marigold']
puts color['Jasmine']
執行上面示例代碼,得到以下結果 -
F:\worksp\ruby>ruby hashes-create.rb
red
purple
yellow
white
F:\worksp\ruby>
修改Ruby哈希
可以通過在已存在的哈希中添加或刪除鍵值對來修改Ruby哈希。
示例
#!/usr/bin/ruby
# file : hashes-modify.rb
color = {
"Rose" => "red",
"Lily" => "purple",
"Marigold" => "yellow",
"Jasmine" => "white"
}
color['Tulip'] = "pink"
color.each do |key, value|
puts "#{key} color is #{value}"
end
執行上面示例代碼,得到以下結果 -
F:\worksp\ruby>ruby hashes-modify.rb
Rose color is red
Lily color is purple
Marigold color is yellow
Jasmine color is white
Tulip color is pink
F:\worksp\ruby>
Ruby哈希方法
Ruby哈希有很多方法。 一些是公共類方法和一些公共實例方法。
公共類方法
方法
描述
Hash[object]
用給定的對象創建一個新的哈希。
new(obj)
返回一個新的空哈希。
try_convert(obj)
嘗試將obj
轉換爲哈希。
公共實例方法
方法
描述
hsh==other_hash
如果它們包含相同的鍵和值對,則兩個哈希值相等。
hsh[key]
從相應的鍵取回值。
hsh[key] = value
將新值與給定鍵相關聯(賦值)
assoc(obj)
在哈希中比較obj
。
clear
從哈希中刪除所有鍵值對或是清空所有數據。
compare_by_identity
按其標識比較哈希鍵。
compare_by_identity?
如果哈希通過其標識比較其鍵,則返回true
。
default(key=nil)
返回默認值
default = obj
設置默認值
delete(key)
刪除鍵值對
each
在哈希中爲每個鍵調用一次
empty?
如果哈希不包含鍵值對,則返回true
。
eql>(other)
如果哈希和其他兩者都具有相同的內容,則返回true
fetch(key[, default])
從給定鍵返回哈希值。
flatten
返回一個新的數組,這是這個哈希的一維平坦化數據值。
has_key?(key)
如果哈希中存在給定鍵,則返回true
。
has_value?(value)
如果給定的值存在於哈希中,則返回true
。
include?(key)
如果哈希中存在給定鍵,則返回true
。
to_s/ inspect
將哈希的內容轉爲字符串返回。