Ruby中关于hash的基本使用方法

 更新时间:2015年05月12日 11:32:20   投稿:goldensun  
这篇文章主要介绍了Ruby中关于hash的基本使用方法,包括哈希的创建和一些内置方法的使用,需要的朋友可以参考下

哈希键 - 值对的集合,类似这样:"employee" => "salary"。它类似于数组,除了索引是通过任意键的任何对象的类型,而不是一个整数索引。

顺序遍历一个哈希键或值要么可能看起来是任意的,一般不会在插入顺序。如果访问的键的哈希值不存在,该方法将返回nil。
创建哈希:

使用数组中,有各种各样的方法来创建哈希值。可以 new 类方法创建一个空的hash :

months = Hash.new

还可以使用 new 创建哈希,这是一个默认值,否则只是 nil:

复制代码 代码如下:
months = Hash.new( "month" )

or

months = Hash.new "month"

当访问任何在哈希键,有一个默认值,如果键或值不存在,访问哈希表将返回默认值:

#!/usr/bin/ruby

months = Hash.new( "month" )

puts "#{months[0]}"
puts "#{months[72]}"

这将产生以下结果:

month
month

#!/usr/bin/ruby

H = Hash["a" => 100, "b" => 200]

puts "#{H['a']}"
puts "#{H['b']}"

这将产生以下结果:

100
200

可以使用任何Ruby对象作为键或值,甚至数组,那么下面的例子是一个有效的

[1,"jan"] => "January"

哈希内置的方法:

我们需要有一个Hash对象实例调用哈希方法。正如我们所看到的,下面是Hash对象的方式来创建一个实例:

Hash[[key =>|, value]* ] or

Hash.new [or] Hash.new(obj) [or]

Hash.new { |hash, key| block }

这将返回一个新的哈希值具有给定的对象填充。现在使用创建的对象,我们可以调用任何可用实例方法。例如:

#!/usr/bin/ruby

$, = ", "
months = Hash.new( "month" )

months = {"1" => "January", "2" => "February"}

keys = months.keys

puts "#{keys}"

这将产生以下结果:

2, 1


相关文章

  • win10下使用virtualbox + vagrant配置ruby开发机环境

    win10下使用virtualbox + vagrant配置ruby开发机环境

    Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。搭配Cmder如丝般顺滑,实现你所有关于Mac&Linux的幻想
    2017-08-08
  • 在操作系统上安装Ruby解释器的教程

    在操作系统上安装Ruby解释器的教程

    这篇文章主要介绍了在操作系统上安装Ruby解释器的教程,包括Linux系统以及Unix和Windows系统下的安装方法,需要的朋友可以参考下
    2015-10-10
  • 详解Ruby中的块的知识

    详解Ruby中的块的知识

    这篇文章主要介绍了详解Ruby中的块的知识,包括yield语句和begin/end块等知识点,需要的朋友可以参考下
    2015-05-05
  • 在Ruby on Rails中使用Markdown的方法

    在Ruby on Rails中使用Markdown的方法

    这篇文章主要介绍了在Ruby on Rails中使用Markdown的方法,不过依赖于pygments.rb这个工具,事先得安装Python,需要的朋友可以参考下
    2015-08-08
  • Ruby简明教程之数组和Hash介绍

    Ruby简明教程之数组和Hash介绍

    这篇文章主要介绍了Ruby简明教程之数组和Hash介绍,非常简洁的讲解,可以作为语法备忘,需要的朋友可以参考下
    2014-06-06
  • ruby 学习笔记(1) 初识语法

    ruby 学习笔记(1) 初识语法

    Ruby是一种简单的面向对象编程语言,十分容易上手,并且功能强大,ruby/ruby on rails从2007年就一直获奖无数,下面这篇文章给大家详细介绍下,需要的朋友可以参考下
    2010-02-02
  • 详解组合模式的结构及其在Ruby设计模式编程中的运用

    详解组合模式的结构及其在Ruby设计模式编程中的运用

    这篇文章主要介绍了组合模式的结构及其在Ruby设计模式编程中的运用,组合模式在Ruby on Rails框架开发项目中也经常被用到,需要的朋友可以参考下
    2016-03-03
  • 剖析 rudy 访问控制

    剖析 rudy 访问控制

    剖析 rudy 访问控制...
    2007-11-11
  • Ruby中区分运行来源的方法

    Ruby中区分运行来源的方法

    这篇文章主要介绍了Ruby中区分运行来源的方法,本文讲解的是类似Python中的if __name__ == '__main__':效果,其实Ruby中也有类似语法,需要的朋友可以参考下
    2015-01-01
  • Ruby中的字符串编写示例

    Ruby中的字符串编写示例

    这篇文章主要介绍了Ruby中的字符串编写示例,作者给出了相关编程风格的一些建议,需要的朋友可以参考下
    2015-08-08

最新评论