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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。