本文概述
Ruby哈希是唯一键及其值的集合。它们类似于数组, 但是数组使用整数作为索引, 而哈希使用任何对象类型。它们也称为关联数组, 字典或地图。
如果使用不存在的键访问哈希, 则该方法将返回nil。
句法:
name = {"key1" => "value1", "key2" => "value2", "key3" => "value3"...}
OR
name = {key1: 'value1', key2: 'value2', key3: 'value3'...}
创建Ruby哈希
Ruby哈希是通过在{}大括号内编写键值对来创建的。
要获取哈希值, 请在[]方括号内写入所需的键。
例:
color = {
"Rose" => "red", "Lily" => "purple", "Marigold" => "yellow", "Jasmine" => "white"
}
puts color['Rose']
puts color['Lily']
puts color['Marigold']
puts color['Jasmine']
输出
修改Ruby Hash
可以通过在现有哈希中添加或删除键值对来修改Ruby哈希。
例:
color = {
"Rose" => "red", "Lily" => "purple", "Marigold" => "yellow", "Jasmine" => "white"
}
color['Tulip'] = "pink"
color.each do |key, value|
puts "#{key} color is #{value}"
end
输出
Ruby哈希方法
Ruby哈希有很多方法。一些是公共类方法, 一些是公共实例方法。
公开课方法
Method | Description |
---|---|
Hash[object] | 使用给定的对象创建一个新的哈希。 |
new(obj) | 返回一个新的空哈希。 |
try_convert(obj) | 尝试将obj转换为哈希。 |
公共实例方法
Method | Description |
---|---|
hsh==other_hash | 如果两个散列包含相同的键和值对, 则它们是相等的。 |
hsh[key] | 从相应的键中检索值。 |
hsh [key] =值 | 将新值与给定密钥相关联。 |
assoc(obj) | 比较哈希中的obj。 |
clear | 从哈希中删除所有键值对。 |
compare_by_identity | 比较哈希键的身份。 |
compare_by_identity? | 如果hash通过其标识比较其键, 则返回true。 |
default(key=nil) | 返回默认值。 |
默认= obj | 设置默认值。 |
delete(key) | 删除键值对。 |
each | 对哈希中的每个键调用一次块。 |
empty? | 如果哈希不包含键值对, 则返回true。 |
eql>(other) | 如果hash和其他内容具有相同的内容, 则返回true |
fetch(key [, 默认]) | 从哈希返回给定键的值。 |
flatten | 返回一个新数组, 该数组是此哈希值的一维展平。 |
has_key?(key) | 如果给定密钥存在于哈希中, 则返回true。 |
has_value?(value) | 如果键的哈希值中存在给定值, 则返回true。 |
include?(key) | 如果给定密钥存在于哈希中, 则返回true。 |
to_s /检查 | 以字符串形式返回哈希的内容。 |
评论前必须登录!
注册