Hash

哈希表的类,详情请参看哈希表表达式

超类

包含模块

方法

self[key]

返回对应主键为 key 的元素值。若是对应的主键不存在,则返回 default 的对应值(若没有指定 default 则返回 nil)。

self[key]=value

将元素值 value 设置成对应主键 key。返回 value

clear

清除哈希表内容。返回 self。

clone
dup

返回一个与调用者有同样内容的哈希表。对冻结的哈希表使用 clone 会返回同一个冻结的哈希表,但是 dup 会返回一个未冻结的相同内容的哈希表。

返回 value 。

delete(key)
delete(key) {|key| ... }

删除并返回对应主键 key 的元素值。若没有对应的元素值,就返回 nil。

若带区块的话,在找不到对应的元素值时,就会计算区块,并返回其计算值。

each {|key, value| ... }
each_pair {|key, value| ... }

使用 keyvalue 作为参数对区块进行计算,返回 self。

each_key {|key| ... }

使用 key 作为参数对区块进行计算,返回 self。

each_value {|value| ... }

使用 value 作为参数对区块进行计算,返回 self。

empty?

若哈希表为空则返回 true。

has_key?(key)
include?(key)

若哈希表含有主键 key 则返回 true。

has_value?(value)

使用 == 判断哈希表是否含有 value 作为其元素值之一,若含有 value 则返回 true。

index(val)

返回与 val 对应的主键。若无法对应则返回 nil。

若有许多与 val 对应的主键,则随机返回一个。

keys

返回一个包含所有主键的数组。

length
size

返回哈希表元素的数目。

values

返回包含所有元素值的数组。