Hash.rehash 方法
在本文中,我们将研究 Hash.rehash 方法。无法假设该方法的用法原理,因为它的名称完全不同。让我们在语法和程序代码的帮助下阅读它的定义并理解它的实现。
方法说明:
该方法是一个公共实例方法,属于 Ruby 语言库中的 Hash 类。此方法的用法方式是构造一个新的哈希对象,该对象基于单个键的当前哈希对象值。如果在声明后在散列对象中引入了更改,则此方法将对散列中的键进行 re-indexing 处理。如果您在遍历哈希实例的过程中尝试调用此函数,您将不得不面对运行时错误。
用法:
Hash_object.rehash
所需参数:
此方法不需要任何参数。
范例1:
=begin
Ruby program to demonstrate Hash.rehash method
=end
a = ["Satyam","Amisha"]
b = ["Nikhil","Saksham"]
hsh = {a=>"friends", b=>"friends"}
puts "Hash elements are:#{hsh}"
puts "Hash.rehash implementation"
b[0]="Hrithik"
puts "Hash after rehash:#{hsh.rehash}"
输出
Hash elements are:{["Satyam", "Amisha"]=>"friends", ["Nikhil", "Saksham"]=>"friends"} Hash.rehash implementation Hash after rehash:{["Satyam", "Amisha"]=>"friends", ["Hrithik", "Saksham"]=>"friends"}
说明:
在上面的代码中,您可以观察到可以借助 Hash.rehash() 方法重新散列一个哈希对象。我们在散列中插入了一个新元素并替换了当前元素。我们在重新散列哈希实例后得到了结果。此方法不会在原始散列中创建更改,因为此方法是非破坏性方法的示例,其中该方法创建的更改不是永久性的。
范例2:
=begin
Ruby program to demonstrate Hash.rehash method
=end
a = ["Satyam","Amisha"]
b = ["Nikhil","Saksham"]
hsh = {a=>"friends", b=>"friends"}
puts "Hash elements are:#{hsh}"
puts "Hash.rehash implementation"
hsh.each do |key,value| hsh.rehash end
puts "Hash after rehash:#{hsh.rehash}"
输出
Hash elements are:{["Satyam", "Amisha"]=>"friends", ["Nikhil", "Saksham"]=>"friends"} Hash.rehash implementation rehash during iteration (repl):14:in `rehash' (repl):14:in `block in <main>' (repl):14:in `each' (repl):14:in `<main>'
说明:
在上面的代码中,您可以观察到,当我们在迭代期间尝试重新散列哈希实例时,该方法抛出了一个名为 RuntimeError 的异常。这只是表明您不能在迭代过程中重新散列哈希。
相关用法
- Ruby Hash.replace()用法及代码示例
- Ruby Hash.reject用法及代码示例
- Ruby Hash.rassoc(obj)用法及代码示例
- Ruby Hash.keep_if用法及代码示例
- Ruby Hash.fetch_values()用法及代码示例
- Ruby Hash.delete_if用法及代码示例
- Ruby Hash.fetch()用法及代码示例
- Ruby Hash.each用法及代码示例
- Ruby Hash.keys用法及代码示例
- Ruby Hash.transform_keys用法及代码示例
- Ruby Hash.each_key用法及代码示例
- Ruby Hash.insert()用法及代码示例
- Ruby Hash.values_at()用法及代码示例
- Ruby Hash.each_value用法及代码示例
- Ruby Hash.values用法及代码示例
- Ruby Hash.compact用法及代码示例
- Ruby Hash.assoc()用法及代码示例
- Ruby Hash.select用法及代码示例
- Ruby Hash.flatten用法及代码示例
- Ruby Hash.invert用法及代码示例
注:本文由纯净天空筛选整理自 Hash.rehash Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。