Re: 请问rails中=>的用法是什么?

<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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值