instance method Date#deconstruct_keys

deconstruct_keys(array_of_names_or_nil) -> Hash[permalink][rdoc][edit]

パターンマッチに使用する名前と値の Hash を返します。

キーに利用できる名前は以下の通りです。

  • :year
  • :month
  • :day
  • :yday
  • :wday
[PARAM] array_of_names_or_nil:
パターンマッチに使用する名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。


d = Date.new(2022, 10, 5)

if d in wday: 3, day: ..7 # deconstruct_keys が使われます
  puts "first Wednesday of the month"
end
#=> "first Wednesday of the month" が出力される

case d
in year: ...2022
  puts "too old"
in month: ..9
  puts "quarter 1-3"
in wday: 1..5, month:
  puts "working day in month #{month}"
end
#=> "working day in month 10" が出力される

# クラスのチェックと組み合わせて利用することもできます
if d in Date(wday: 3, day: ..7)
  puts "first Wednesday of the month"
end

[SEE_ALSO] パターンマッチ/非プリミティブなオブジェクトのマッチ: deconstruct メソッドと deconstruct_keys メソッド