Ruby 哈希

  • 哈希

    Ruby哈希是键值对的集合,如下所示:“employee” =>“salary”。它类似于Array,不同之处在于,索引是通过任何对象类型的任意键而不是整数索引完成的。通过键或值遍历散列的顺序似乎是任意的,并且通常不会按插入顺序。如果尝试使用不存在的键访问哈希,则该方法将返回nil
  • 创建哈希

    与数组一样,有多种创建哈希的方法。您可以使用new类方法创建一个空哈希-
    
    months = Hash.new
    
    您还可以使用new创建的哈希有默认值,否则只是零 --
    
    months = Hash.new( "month" )
    
    或者
    
    months = Hash.new "month"
    
    当您访问哈希中具有默认值的任何键时,如果键或值不存在,则访问哈希将返回默认值-
    
    months = Hash.new( "month" )
    
    puts "#{months[0]}"
    puts "#{months[72]}"
    
    尝试一下
    
    H = Hash["a" => 100, "b" => 200]
    
    puts "#{H['a']}"
    puts "#{H['b']}"
    
    尝试一下
    您可以使用任何Ruby对象作为键或值,甚至可以使用数组,因此以下示例是有效的-
    
    [1,"jan"] => "January"
    
  • 哈希内置方法

    我们需要有一个Hash对象的实例来调用Hash方法。如我们所见,以下是创建Hash对象实例的方法-
    
    Hash[[key =>|, value]* ] 或
    
    Hash.new [或] Hash.new(obj) [或]
    Hash.new { |hash, key| block }
    
    这将返回一个填充有给定对象的新哈希。现在使用创建的对象,我们可以调用任何可用的实例方法。例如-
    
    $, = ", "
    months = Hash.new( "month" )
    months = {"1" => "January", "2" => "February"}
    
    keys = months.keys
    puts "#{keys}"
    
    尝试一下
    更多内置函数,参考方法,请查阅参考手册。