ruby中散列的定义和使用
来源:互联网 发布:论文查重软件免费 编辑:程序博客网 时间:2024/05/16 07:56
(1)散列的概念
散列(hash)也是一个程序里常用到的容器。散列是键值对(key-value pair)的一种数据结构。在 Ruby中,一般是以字符串或者符号(Symbol)作为键,来保存对应的对象。
在 Ruby 中,符号(symbol)与字符串对象很相似,符号也是对象,一般作为名称标签来使用,用来表示方法等的对象的名称。创建符号,只需在标识符的开头加上: 就可以了。例如:
sym= :foo # 表示符号“:foo”sym2 =:"foo" # 意思同上
符号能实现的功能,大部分字符串也能实现。但像散列键这样只是单纯判断“是否相等”的处理中,使用符号会比字符串比较更加有效率,因此在实际编程中我们也会时常用到符号。符号与字符串可以互相任意转换。对符号使用 to_s 方法,则可以得到对应的字符串。反之,对字符串使用 to_sym方法,则可以得到对应的符号。
(2)散列的创建
创建散列的方法与创建数组的差不多,不同的是,不使用 [],而是使用 {}把创建的内容括起来。散列用=>来定义获取对象时所需的键(key),以及键相对应的对象(value)。例如:
address= {:name => "高桥", :pinyin =>"gaoqiao", :postal => "1234567"}
或
address= {"name" => "高桥", "pinyin" => "gaoqiao","postal" => "1234567"}
将符号当作键来使用时,程序还可以像下面这么写:
address= {name: "高桥", pinyin: "gaoqiao",postal: "1234567"}
(3)散列的使用
a)利用散列的键来访问数组中的元素
散列名[键]
b)散列的遍历
使用 each方法,我们可以遍历散列里的所有元素,逐个取出其元素的键和对应的值。循环数组时是按索引顺序遍历元素,循环散列时按照键值组合遍历元素。
散列.each do | 键变量, 值变量 | statementend
c)修改散列的值
散列名[键] = 'xxx'
0 0
- ruby中散列的定义和使用
- ruby中数组的定义和使用
- ruby模块的概念、定义和使用
- ruby中使用yacc定义的语法规则
- Ruby 类的属性、变量、常量和方法定义
- ruby include 和 extend的使用
- ruby中yield的使用和理解
- Ruby之旅(二) Ruby的基本语法以及对象的使用,方法的定义及调用,属性的定义及使用
- 全局变量的定义和使用
- 全局变量的定义和使用
- friend的定义 和 使用
- 常量的定义和使用
- 结构的定义和使用
- Arraylist的定义和使用
- 方法的定义和使用
- 包的定义和使用
- Block的定义和使用
- 指针的定义和使用
- centos ping不通内网 网关 外网 域名等以解决 通过设置为动态IP(启用dhcp协议)
- redis入门
- ruby中的打印函数print | puts | p
- ruby中的控制逻辑语句
- ruby中数组的定义和使用
- ruby中散列的定义和使用
- ruby中正则表达式的使用
- Ruby中的关键字nil
- how to produce .mesh .tgf file for 403_BoundedBiharmonicWeights_bin
- Shortest Word Distance II
- centos上mysql
- Shortest Word Distance III
- Eclipse+ADT+Android SDK 搭建安卓开发环境
- ruby模块的概念、定义和使用