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