Hash.default_proc 方法
在本文中,我们将研究 Hash.default_proc 方法。这种方法的用法原理可以通过它的名字来预测,但它并不像看起来那么简单。那么,我们将在其余内容中借助其语法和程序代码来理解该方法。
方法说明:
该方法是Ruby 库中专门为Hash 类定义的公共实例方法。此方法的用法方式是,如果已使用块调用哈希新方法,则在调用 default_proc() 方法时它将返回该块。如果新方法已被调用而未传递任何块,则此方法将返回 nil。当您阅读其示例时,您将以更广泛的方式理解该概念。
用法:
Hash_object.default_proc
所需参数:
此方法不需要任何参数。
范例1:
=begin
Ruby program to demonstrate default_proc method
=end
h = Hash.new {|h,k| h[k] = k*k }
puts "default_proc implementation:"
p = h.default_proc
a = []
puts "#{p.call(a, 2)}"
puts "The elements in 'a' array are:#{a}"
输出
default_proc implementation: 4 The elements in 'a' array are:[nil, nil, 4]
说明:
在上面的代码中,您可以观察到我们正在与块一起调用一个新方法,并且该块什么也不做,而是返回传递的元素的双精度值。当我们调用包含 Hash 对象的默认 proc 值以及索引和块值的 proc p 时,我们正在获取存储在索引位置的块返回值。
范例2:
=begin
Ruby program to demonstrate default_proc method
=end
h = Hash.new
puts "default_proc implementation:"
p = h.default_proc
a = []
puts "#{p.call(a, 2)}"
puts "The elements in 'a' array are:#{a}"
输出
default_proc implementation: undefined method `call' for nil:NilClass (repl):12:in `<main>'
说明:
在上面的代码中,您可以观察到,当新方法在没有块的情况下被调用时,变量 'p' 不会被视为过程,因为哈希 default_proc 方法已返回 'nil'。
相关用法
- Ruby Hash.delete_if用法及代码示例
- Ruby Hash.delete()用法及代码示例
- Ruby Hash.dig()用法及代码示例
- Ruby Hash.rassoc(obj)用法及代码示例
- Ruby Hash.keep_if用法及代码示例
- Ruby Hash.fetch_values()用法及代码示例
- 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.rehash用法及代码示例
- Ruby Hash.each_value用法及代码示例
- Ruby Hash.values用法及代码示例
- Ruby Hash.replace()用法及代码示例
- Ruby Hash.compact用法及代码示例
- Ruby Hash.reject用法及代码示例
- Ruby Hash.assoc()用法及代码示例
注:本文由纯净天空筛选整理自 Hash.default_proc Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。