详细解读Ruby哈希表相关概念

开发 开发工具
在实际编程中,我们会发现,Ruby哈希表和数组的应用有些相似。Ruby哈希表默认是返回nil,意思就是false。下面就来一起看看Ruby哈希表的具体用法。

Ruby语言的应用范围还是比较广泛的,不过知道这种新型语言的人可能还是不太多。Ruby哈希表使用花括号而不是中括号。哈希表需要为每个项提供两个对象:一个是键,另一个是它的值。#t#

例如,你想为乐队表示音乐器材。你可以使用Ruby哈希表来实现它。

 

  1. inst_section = {  
  2. 'cello' => 'string',  
  3. 'clarinet' => 'woodwind',  
  4. 'drum' => 'percussion',  
  5. 'oboe' => 'woodwind',  
  6. 'trumpet' => 'brass',  
  7. 'violin' => 'string'  

在=>左边的是键,在右边的是它对应的值。键在每个具体的哈希表中是唯一的,你不能有两个"drum"项。键和值在哈希表中可以是任意的对象——你可以哈希数组,甚至其它的哈希表等等。

Ruby哈希表使用和数组一样的中括号索引。

 

  1. inst_section['oboe']-> "woodwind"  
  2. inst_section['cello']-> "string"  
  3. inst_section['bassoon']-> nil 

就如最后一个例子中所看到的,如果键不存在,Ruby哈希表默认是返回nil。通常,这样做很方便,在使用条件表达式中,nil的意思是false。有时候,你想要改变这个默认值。例如,你想计算哈希表中键的访问次数,如果默认值是0就比较方便了。当你创建一个新的空的哈希表时很容易指定一个默认值。

 

  1. histogram = Hash.new(0)  
  2. histogram['key1']-> 0  
  3. histogram['key1'] = 
    histogram['key1'] + 1  
  4. histogram['key1']-> 1  

 

责任编辑:曹凯 来源: ddvip.com
相关推荐

2009-12-14 18:14:27

Ruby DSL

2009-12-15 15:55:43

Ruby模块

2010-03-03 17:21:42

Python操作注册表

2009-12-28 15:00:21

ADO操作

2009-12-16 13:33:28

Ruby输出文件信息

2020-05-06 09:11:50

DevOps

2009-12-25 16:26:03

ADO.NET控制

2010-09-28 14:06:43

Sql Server表

2009-12-15 14:16:13

Ruby Contin

2009-12-15 15:35:56

Ruby symbol

2009-12-16 14:51:26

Ruby nil

2009-12-30 10:15:57

Silverlight

2009-12-17 11:27:31

Ruby时间方法

2009-12-18 15:24:52

2009-12-18 15:56:05

Ruby特殊语法

2009-12-15 10:10:42

Ruby过程对象

2009-12-14 13:06:08

Ruby数字类型

2010-09-25 14:39:29

Bruce Tate

2009-12-16 16:24:00

Ruby on Rai

2009-12-16 10:57:16

Ruby文件锁
点赞
收藏

51CTO技术栈公众号