哈希
键值对
映射(map)
关联数组
numbers=Hash.new
numbers["one"]=1
numbers["two"]=2
numbers["three"]=3
sum=number["one"]+number["two"]
1、哈希字面量
逗号分隔的键/值对,被包含在花括号中
numbers={"one"=>1,"two"=>2,"three"=>3}
Symbol对象方法
numbers={:one=>1,:two=>2,:three=>3}
不过Symbol是不可改变的,功能受限的字符串
Ruby1.8可用,取代=>,Ruby1.9不支持
numbers={:one,1,:two,2,:three,3}
Ruby1.8,1,9支持最后跟上一个逗号
numbers={:one=>1,:two=>2,}
Ruby1.9中用分号取代=>
numbers={one;1,two;2,three;3}
2、哈希码、相等性及可变键
Ruby里的哈希是采用一种称为哈希表的数据结构来实现的
hash方法
返回Fixnum的哈希码
两键相等返回相同的哈希码,不相等的键也可能会拥有相同的哈希码。
Hash类 eql? 方法比较键之间的相等性。
eql?方法与==操作符一样。
重写eql?,必须同时重写hash方法
键值对
映射(map)
关联数组
numbers=Hash.new
numbers["one"]=1
numbers["two"]=2
numbers["three"]=3
sum=number["one"]+number["two"]
1、哈希字面量
逗号分隔的键/值对,被包含在花括号中
numbers={"one"=>1,"two"=>2,"three"=>3}
Symbol对象方法
numbers={:one=>1,:two=>2,:three=>3}
不过Symbol是不可改变的,功能受限的字符串
Ruby1.8可用,取代=>,Ruby1.9不支持
numbers={:one,1,:two,2,:three,3}
Ruby1.8,1,9支持最后跟上一个逗号
numbers={:one=>1,:two=>2,}
Ruby1.9中用分号取代=>
numbers={one;1,two;2,three;3}
2、哈希码、相等性及可变键
Ruby里的哈希是采用一种称为哈希表的数据结构来实现的
hash方法
返回Fixnum的哈希码
两键相等返回相同的哈希码,不相等的键也可能会拥有相同的哈希码。
Hash类 eql? 方法比较键之间的相等性。
eql?方法与==操作符一样。
重写eql?,必须同时重写hash方法
发表评论
-
39、代码块的语法
2011-05-30 12:26 728代码块的语法 1.upto(10) {|x| puts x} ... -
38、迭代和并发修改
2011-05-29 18:00 628迭代和并发修改 Ruby的核心集合类都是直接对当前的对象集合 ... -
37、外部迭代器
2011-05-28 11:56 523外部迭代器 iterator=9.downto(1) be ... -
娃娃鸭学Ruby-36、枚举器
2011-05-26 13:38 902枚举器 枚举器是类Enumeralbe::Enumerato ... -
娃娃鸭学Ruby-35、编写自定义的迭代器
2011-05-06 21:28 672自定义的迭代器 可调用一个与方法调用相关联的代码块 def ... -
娃娃鸭学Ruby-34、可枚举的对象
2011-04-26 22:18 790可枚举的对象 Array、Hash、Range及许多其他类都 ... -
娃娃鸭学Ruby-33、迭代器
2011-04-26 09:39 505虽然可用while,until和for循环 但还是更倾向于用迭 ... -
娃娃鸭学Ruby-32、for/in循环
2011-04-25 09:14 1007For/in循环 for或for/in循环可对一个枚举对象( ... -
娃娃鸭学Ruby-31、作为修饰符的while和until
2011-04-23 22:49 654作为修饰符的while和until x=0 puts x=x ... -
娃娃鸭学Ruby-30、whie和unitl
2011-04-22 23:56 445While和until while 当某个特定条件为真 unt ... -
娃娃鸭学Ruby-29、?:操作符
2011-04-22 09:08 446?:操作符 def how_many_messages(n) ... -
娃娃鸭学Ruby-28、Case
2011-04-21 22:08 544Case name= case wher ... -
娃娃鸭学Ruby-27、Unless
2011-04-21 11:04 644Unless unless,作为一个语句或修饰符,和if恰好相 ... -
娃娃鸭学Ruby-26、作为修饰符的if
2011-04-20 09:09 686作为修饰符的if 采用if的普通语句形式时,Ruby的语法要 ... -
娃娃鸭学Ruby-25、If
2011-04-19 13:17 517if if 是最简单的条件式,具有多种形式 if expres ... -
娃娃鸭学Ruby-24、操作符
2011-04-17 12:01 652操作符 在Ruby语言中, ... -
娃娃鸭学Ruby-23、赋值
2011-04-16 22:02 664赋值 一个赋值表达式可以为一个或多个左值(lvalue)指定一 ... -
娃娃鸭学Ruby-22、方法调用
2011-04-16 13:42 511方法调用 方法调用由四部分组成: 一个任意的表达式,它的 ... -
娃娃鸭学Ruby-21、常量引用
2011-04-15 22:31 632常量引用 除了值在运行期间保持不变外,常量类似于变量。 R ... -
娃娃鸭学Ruby-20、变量引用
2011-04-15 09:01 549变量引用 一个变量就是一个值的名字。 通过赋值表达式可以创建 ...
相关推荐
MD5-Hash哈希值计算工具的应用与重要性 随着信息技术的飞速发展,数据安全与文件完整性验证已成为人们日益关注的问题。MD5-Hash哈希值计算工具便是在这一背景下应运而生的实用软件工具。MD5(Message-Digest ...
在给定的资源中,我们涉及到了三个主要的IT组件:Ruby编程语言、RubyGems包管理器以及Redis键值存储系统。以下是关于这些技术的详细知识点: 1. **Ruby 2.2.4**: Ruby是一种面向对象的、动态类型的编程语言,以其...
MD5-Hash哈希值计算工具是一款用于生成和验证文件MD5哈希值的应用程序,版本为1.6.0.0。在信息技术领域,哈希函数,特别是MD5(Message-Digest Algorithm 5),是一种广泛使用的算法,用于对任意长度的数据进行单向...
Go-Meow哈希是一种高性能的非加密哈希算法,主要设计用于大数据处理和实时分析。在Golang中实现Go-Meow哈希,能够充分利用Go语言的并发特性,为大规模数据处理提供高效的哈希计算服务。下面我们将深入探讨Go-Meow...
2. **Hash和Symbol的变化**:Ruby-2.1引入了新的Hash实现,提升了哈希表的性能,同时可能对Symbol对象进行了调整,以减少内存消耗。 3. **块和Proc**:Ruby-2.1.10可能增强了对块(block)和Proc对象的处理,包括更...
《笨方法学Ruby》是针对初学者的一本中文教程,旨在通过实践性的学习方式帮助读者掌握Ruby编程语言。这本书的特点是强调动手实践,通过一系列的练习来深化对Ruby语法和编程概念的理解。以下是对该书内容及压缩包文件...
"大数据结构课程设计--哈希表实验报告材料" 在大数据结构课程设计中,哈希表实验报告材料是非常重要的一部分。本文档将详细介绍哈希表的设计和实现,包括哈希函数的构造、冲突处理、查找算法等。 一、哈希表的设计...
Ruby是一种面向对象、动态类型的脚本语言,常用于Web开发、服务器端编程和各种应用程序的构建。在描述中提到的"ruby-2.4.0.tar.gz"是Ruby的一个特定版本,即2.4.0,它以压缩格式提供,方便用户下载和安装。这个...
Ruby-2.3.0还在错误处理、字符串处理、数组和哈希操作等方面做了改进,使得编程体验更加流畅。学习和掌握这一版本的Ruby,将有助于开发者更好地利用这个强大的语言进行Web开发、自动化脚本编写、系统管理等各种任务...
它支持多种数据结构,如字符串、哈希、列表、集合和有序集合,这使得它在实时数据处理和高速操作中非常有用。而创建和管理Redis集群通常需要特定的工具和配置,其中可能涉及到使用Ruby编写的脚本或Gem(Ruby的包管理...
4. API接口:Ruby-Phashion为开发者提供了简单易用的API,使得在Ruby程序中集成图像和音频的哈希计算变得轻松。开发者可以快速地实现文件的哈希生成、比较和相似度查询等功能。 5. 性能优化:虽然pHash库本身已经...
《Ruby-LazyHighCharts:轻松实现数据可视化的高效工具》 Ruby-LazyHighCharts是一个针对Ruby编程语言设计的库,它提供了一种简单且高度灵活的方法来利用HighCharts库进行数据可视化。HighCharts是一个广泛使用的...
Ruby是一种强大的、面向对象的脚本编程语言,由日本的松本行弘(Yukihiro Matsumoto)在1995年设计并开发。它以其简洁、优雅的语法和强大的元编程能力而受到程序员的喜爱。Ruby-2.3.3是这个语言的一个特定版本,发布...
NOI导刊--基础数据结构--哈希、并查集--江涛 内含----讲义,代码
此外,Ruby-2.3.0还引入了`Hash#dig`方法,这是一个非常实用的工具,用于从嵌套的哈希中检索值。它允许你在不知道具体层次的情况下安全地获取深层键的值,避免了因尝试访问不存在的键而引发的异常。例如: ```ruby ...
数据结构课程设计--哈希表实验报告.doc
5. **结果集的智能处理**:返回的结果集可以被自动转换为Ruby的数据结构,如数组和哈希,方便开发者直接操作。此外,结果集还可以按需获取数据,避免一次性加载大量数据导致的内存压力。 6. **兼容性**:mysql2库与...
MongoDB的Ruby驱动程序,即`mongo-ruby-driver`,是连接和操作MongoDB数据库的一个关键组件,专门针对Ruby编程语言设计。这个驱动程序允许Ruby开发者充分利用MongoDB的强大功能,包括文档型数据存储、分布式数据处理...
Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。Ruby 2.7.0是这个语言的一个稳定版本,发布于2020年,它带来了许多改进和新特性,旨在提高性能、增强开发者体验以及保持...