当前位置: 首页 > 文档资料 > RGSS 入门教程 >

12、哈希表(关联数组)

优质
小牛编辑
125浏览
2023-12-01

哈希表的生成:
一个关联数组不通过下标来访问,而是通过主键(key)访问.这样的数组有时被叫作哈希(hash).将一对对的元素用逗号分隔开,并用大括号({})括起来,这样就组成了一个哈希表.你用一个关键字在哈希表里进行搜索,就像你在数组里用索引来提取数据一样.
例如:

a={" Allex"=>2000," 帆布背包 "=>2003} 

在这个例子中," Allex" 和 " 帆布背包 " 是主键(key),2000 和 2003 是实际的数值。这样,主键和数值之间用“ =>” 号连接,形成关系。
如果要取出实际的数值,如下所示:

a={" Allex"=>2000," 帆布背包 "=>2003} 
p a[" Allex"] # => 2000
p a[" 帆布背包 "] # => 2003
p a[" 中国"] # => nil

这里以字符串为key ,但对其他的数据类型也一样。
对哈希表元素的追加,如下示例:

a = {}   #建一个空表 
a = {}   #建一个空表 
a[" Allex"]=2000  #赋值
p a #=>{" Allex"=>2000}

哈希表属于Hash类的实例,可以调用这个类的相关方法。
例如删除一个元素:

a={" Allex"=>2000," 帆布背包 "=>2003} 
a.delete(" 帆布背包 ")
p a #=>{" Allex"=>2000}

查看是否包含某键值:

a={" Allex"=>2000," 帆布背包 "=>2003}
p a.include?(" Allex") # => true 
p a.include?(" 中中中 ") # => false

取得 keys 的方法:

a = {3=>6, 4=>10, 5=>15} 
p a.keys # => [5, 3, 4]

把keys放在for循环中:

a = {3=>6, 4=>10, 5=>15}
for k in a.keys
    p k
end 

如果使用 values,可以取得数值方面的一览表。

a = {3=>6, 4=>10, 5=>15}
for v in a.values
    p v
end