Ruby中带有示例的Hash.default(key = nil)方法

Hash.default(key = nil)方法

在本文中,我们将研究Hash.default(key = nil)方法。可以借助其名称来预测此方法的工作,但是它并不像看起来那样简单。好吧,我们将在其余内容中借助其语法和程序代码来理解此方法。

方法说明:

此方法是在ruby库中定义的公共实例方法,特别是针对Hash类。此方法以返回默认值的方式工作,但是现在您将考虑此方法何时将返回默认值。当用户尝试访问哈希中不可用的key值或仅仅是key的值时,此方法将返回默认值,或者您可以说不属于hash对象的一部分。该方法将打印默认值,而不是返回'nil'

语法:

    Hash_object.default
    or
    Hash_object.default(object)

Argument(s) 需要:

在此方法中传递值是可选的。如果要传递值,则该值可以是任何类的对象。

范例1:

=begin
  Ruby program to demonstrate default method
=end	

hsh = Hash.new("Not available")

hsh["color"] = "Black"
hsh["age"] = 20
hsh["school"] = "Angels' Academy Haridwar"
hsh["college"] = "Graphic Era University"

puts "Hash default implementation"

puts "Hash contents are : #{hsh}"
puts "default value : #{hsh.default}"

输出结果

Hash default implementation
Hash contents are : {"color"=>"Black", "age"=>20, "school"=>"Angels' Academy Haridwar", "college"=>"Graphic Era University"}
default value : Not available

说明:

在上面的代码中,您可以看到我们已经在new方法的帮助下设置了默认值。我们正在借助默认方法访问该默认值。默认值为“不可用”,只要在哈希对象中找不到键,就将返回此值。

范例2:

=begin
  Ruby program to demonstrate default method
=end	

hsh = Hash.new { |hash, key| hsh[key] = "Hello : #{key}" }

hsh["color"] = "Black"
hsh["age"] = 20
hsh["school"] = "Angels' Academy Haridwar"
hsh["college"] = "Graphic Era University"

puts "Hash default implementation"

puts "Hash contents are : #{hsh}"
puts "default value : #{hsh.default(2)}"

输出结果

Hash default implementation
Hash contents are : {"color"=>"Black", "age"=>20, "school"=>"Angels' Academy Haridwar", "college"=>"Graphic Era University"}
default value : Hello : 2

说明:

在上面的代码中,您可以观察到我们已经通过将新的块传递给新方法来设置了默认值。我们正在借助默认方法访问该默认值。默认值为“ Hello:key”,只要在哈希对象中未找到该键,就会返回该值。我们将键与方法一起传递,当键丢失时,键将与值一起返回。