`
wangsir_81
  • 浏览: 21271 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Ruby的数组和哈希对比

阅读更多

    相同点:

        都是带索引的集合。

        都是用来存储对象集合的。

        都可以通过键来访问。

        都可以动态增加内存空间来存储新元素。

        都能保存任何类型的对象。

 

    不同点:

        数组的键是整数,哈希可以是任何对象。

        数组访问效率更高,哈希访问更灵活。

        数组用方括号[]来创建和初始化,哈希用花括号{}来创建和初始化。

 

    各自特点:

        数组array:

            a = ['ant', 'bee', 'cat', 'dog']除了可以这么创建以外,还可以a = %w{ant bee cat dog}方式创建。

            数组通过<<方法可以追加对象,a << 'elk'。

        哈希hash:

            哈希是由键值对组成的,=> 符号左边是键,符号右边是值,键必须唯一,一般用符号作为键,值可以是任意对象。例如 inst_section = {:cello=>'string', :clarinet=>'woodwind', :drum=>'percussion'}。

            哈希可以像数组一样用方括号标记法,例如 inst_section[:cello]    #=> 'string'

分享到:
评论

相关推荐

    Ruby-fastrubyRuby编写快速收集常见Ruby惯用语

    总之,`fast-ruby` 项目是Ruby开发者提升代码性能的宝贵资源,它通过对比和示范,教导我们如何编写更快的Ruby代码,同时也提醒我们注意代码的可读性和维护性。通过学习和应用这些最佳实践,开发者可以编写出既高效又...

    Ruby Serial:Ruby 对象的优化序列化库。-开源

    库序列化 Ruby 对象,在许多方面进行了优化: * 快速且小巧:使用 MessagePack(二进制紧凑型存储)并且不会将同一对象序列化两次 * 独立于 Ruby 版本:跨不同版本转储和加载数据 * 保留共享对象:如果一个对象被...

    Ruby使用心得汇总——寻找高效的实现

    例如,数组和哈希的高效操作,如`each`、`map`、`select`等,以及在适当情况下使用`Symbol`代替字符串作为键等。同时,合理利用Ruby的块、迭代器和闭包可以减少不必要的函数调用,进一步提升代码执行速度。 总之,...

    Beginning Ruby - From Novice to Professional (2007)

    - **数据类型**:讲解Ruby中的基本数据类型,包括数字、字符串、数组、哈希等。 - **控制结构**:介绍条件语句(if/elsif/else)、循环语句(for/while/until)以及流程控制关键字(break/next/retry/redo)等。 - *...

    Ruby-性能测试(完整版)

    - **优化数据结构**: 选择适合问题的数据结构,如哈希表或数组,可以显著提高性能。 6. **并发与线程安全**: - 理解GIL(全局解释器锁)对MRI Ruby并发性能的影响。 - 使用`Thread`和`Fiber`进行轻量级并发,...

    Ruby程序设计高级教程

    - **与Python的比较**:通过对比Ruby和Python这两门语言,帮助读者理解它们之间的异同,以及各自适用的场景。 #### 二、Ruby编程环境 - **安装过程**: - Windows系统下的安装步骤和注意事项。 - Linux环境下...

    photogram-queries

    2. 数据结构与算法:处理图像查询可能需要对图像数据进行组织和检索,这可能会用到数组、哈希表、树等数据结构,以及搜索、排序等算法。 3. 文件I/O操作:Ruby提供标准库用于读写文件,这是处理图像时必不可少的,...

    redis和Mongo区别

    对比 从上面的介绍可以看出,Redis 和 MongoDB 都是流行的 NoSQL 数据库,但是它们有着不同的设计目标和应用场景。 Redis 是一个基于内存的 Key-Value 数据库,主要用于缓存、会话管理和消息队列等场景。它的高...

    training_curriculum

    1. **介绍Ruby**: Ruby的历史、特点和适用场景,对比其他编程语言的优势。 2. **安装与环境配置**: 如何在不同操作系统上安装Ruby及开发环境如RubyMine或VSCode。 3. **基本语法**: 变量、常量、数据类型(字符串、...

    sir_model

    3. **数据结构**:可能涉及如何存储和管理人口信息,如使用数组、哈希表或者其他数据结构来代表不同状态的人口。 4. **模拟过程**:描述模拟过程,包括如何更新人口状态,计算传染概率,以及如何在每个时间步进中...

    codekata-09:此处描述的 kata 的解决方案

    10. **哈希(Hash)**:Ruby 的哈希是一种关联数组,允许通过键(key)访问值(value)。哈希的键可以是任何对象,而不仅仅是字符串。 在解冑 codekata-09 时,你可能会涉及上述的一些或全部概念。通过实践,你可以...

    百度笔试题 百度 技术笔试

    “直译”可能是指“解释型”语言,这类语言如Python、Ruby等在执行时由解释器逐行翻译成机器码并立即执行;“选”则明显不是选项的一部分。因此正确答案是“鲢”。 **2. 下列int类型的变量x初始化语句正确的是:** ...

Global site tag (gtag.js) - Google Analytics