<strong>哈希表的生成: </strong><br />
<br />
一个关联数组不通过下标来访问,而是通过主键(key)访问.这样的数组有时被叫作哈希(hash).将一对对的元素用逗号分隔开,并用大括号({})括起来,这样就组成了一个哈希表.你用一个关键字在哈希表里进行搜索,就像你在数组里用索引来提取数据一样.<br />
<br />
例如:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a={" Allex"=>2000," 帆布背包 "=>2003} </td>
</tr>
</tbody>
</table>
<br />
<br />
在这个例子中," Allex" 和 " 帆布背包 " 是主键(key),2000 和 2003 是实际的数值。这样,主键和数值之间用“ =>” 号连接,形成关系。<br />
<br />
如果要取出实际的数值,如下所示:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a={" Allex"=>2000," 帆布背包 "=>2003} <br />
p a[" Allex"] # => 2000<br />
p a[" 帆布背包 "] # => 2003<br />
p a[" 中国"] # => nil</td>
</tr>
</tbody>
</table>
<br />
<br />
这里以字符串为key ,但对其他的数据类型也一样。<br />
<br />
对哈希表元素的追加,如下示例:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a = {} #建一个空表 <br />
a = {} #建一个空表 <br />
a[" Allex"]=2000 #赋值<br />
p a #=>{" Allex"=>2000}</td>
</tr>
</tbody>
</table>
<br />
<br />
哈希表属于Hash类的实例,可以调用这个类的相关方法。<br />
<br />
例如删除一个元素:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a={" Allex"=>2000," 帆布背包 "=>2003} <br />
a.delete(" 帆布背包 ")<br />
p a #=>{" Allex"=>2000}</td>
</tr>
</tbody>
</table>
<br />
<br />
查看是否包含某键值:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a={" Allex"=>2000," 帆布背包 "=>2003}<br />
p a.include?(" Allex") # => true <br />
p a.include?(" 中中中 ") # => false</td>
</tr>
</tbody>
</table>
<br />
<br />
取得 keys 的方法:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a = {3=>6, 4=>10, 5=>15} <br />
p a.keys # => [5, 3, 4]</td>
</tr>
</tbody>
</table>
<br />
<br />
把keys放在for循环中:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a = {3=>6, 4=>10, 5=>15}<br />
for k in a.keys<br />
p k<br />
end </td>
</tr>
</tbody>
</table>
<br />
<br />
如果使用 values,可以取得数值方面的一览表。<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a = {3=>6, 4=>10, 5=>15}<br />
<br />
for v in a.values<br />
p v<br />
end </td>
</tr>
</tbody>
</table>
<br />
一个关联数组不通过下标来访问,而是通过主键(key)访问.这样的数组有时被叫作哈希(hash).将一对对的元素用逗号分隔开,并用大括号({})括起来,这样就组成了一个哈希表.你用一个关键字在哈希表里进行搜索,就像你在数组里用索引来提取数据一样.<br />
<br />
例如:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a={" Allex"=>2000," 帆布背包 "=>2003} </td>
</tr>
</tbody>
</table>
<br />
<br />
在这个例子中," Allex" 和 " 帆布背包 " 是主键(key),2000 和 2003 是实际的数值。这样,主键和数值之间用“ =>” 号连接,形成关系。<br />
<br />
如果要取出实际的数值,如下所示:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a={" Allex"=>2000," 帆布背包 "=>2003} <br />
p a[" Allex"] # => 2000<br />
p a[" 帆布背包 "] # => 2003<br />
p a[" 中国"] # => nil</td>
</tr>
</tbody>
</table>
<br />
<br />
这里以字符串为key ,但对其他的数据类型也一样。<br />
<br />
对哈希表元素的追加,如下示例:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a = {} #建一个空表 <br />
a = {} #建一个空表 <br />
a[" Allex"]=2000 #赋值<br />
p a #=>{" Allex"=>2000}</td>
</tr>
</tbody>
</table>
<br />
<br />
哈希表属于Hash类的实例,可以调用这个类的相关方法。<br />
<br />
例如删除一个元素:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a={" Allex"=>2000," 帆布背包 "=>2003} <br />
a.delete(" 帆布背包 ")<br />
p a #=>{" Allex"=>2000}</td>
</tr>
</tbody>
</table>
<br />
<br />
查看是否包含某键值:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a={" Allex"=>2000," 帆布背包 "=>2003}<br />
p a.include?(" Allex") # => true <br />
p a.include?(" 中中中 ") # => false</td>
</tr>
</tbody>
</table>
<br />
<br />
取得 keys 的方法:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a = {3=>6, 4=>10, 5=>15} <br />
p a.keys # => [5, 3, 4]</td>
</tr>
</tbody>
</table>
<br />
<br />
把keys放在for循环中:<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a = {3=>6, 4=>10, 5=>15}<br />
for k in a.keys<br />
p k<br />
end </td>
</tr>
</tbody>
</table>
<br />
<br />
如果使用 values,可以取得数值方面的一览表。<br />
<br />
<table cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td class="code" id="code">a = {3=>6, 4=>10, 5=>15}<br />
<br />
for v in a.values<br />
p v<br />
end </td>
</tr>
</tbody>
</table>