[Ruby] Ruby 的hash默認值

在Ruby中的Hash是一種數據結構,具有在 Key=> Value  價值。符號往往被用作key來加速鍵查找的過程。

Hash類提供了許多有用的方法,其中一些來自Enumerable module。我們不會記住這個類的所有方法,但是Hash類有一個很重要的方法 :default()

Ruby 基本的Hash表示方法:

people = Hash.new
 
people["Mary"] = 78
people["John"] = 21
people["Frank"] = 52
 
puts "Name: John, age: #{people["John"]}."

得到結果

Name: John, age: 21.

我們把涉及人的姓名和年齡的一些信息,然後我們展示其中的一些。鑑於key(John”)已經發現,一切都很順利。讓我們試着查找一個不存在的key:
people = Hash.new
 
people["Mary"] = 78
people["John"] = 21
people["Frank"] = 52
 
puts "Name: George, age: #{people["George"]}."
puts people["George"].inspect

得到的結果是:
Name: George, age: .
nil
Hash做正是我們所期望的:它找到下的“John”key。此外,它返回nil值。如果我們想獲得的東西在這樣的情況有什麼不同?這就是default()方法的用武之地。
standard_hash = Hash.new
puts standard_hash.default
 
our_hash = Hash.new
our_hash.default = 185
puts our_hash.default
puts standard_hash[:hello]
獲得的結果是
nil
185
185

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章