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}"
更多内置函数,参考方法,请查阅参考手册。