Ruby 3.3 リファレンスマニュアル > ライブラリ一覧 > dateライブラリ > DateTimeクラス > deconstruct_keys
deconstruct_keys(array_of_names_or_nil) -> Hash
[permalink][rdoc]パターンマッチに使用する名前と値の Hash を返します。
キーに利用できる名前は以下の通りです。
例
dt = DateTime.new(2022, 10, 5, 13, 30)
if dt in wday: 1..5, hour: 10..18 # deconstruct_keys が使われます
puts "Working time"
end
#=> "Working time" が出力される
case dt
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 dt in DateTime(wday: 1..5, hour: 10..18, day: ..7)
puts "Working time, first week of the month"
end
[SEE_ALSO] パターンマッチ/非プリミティブなオブジェクトのマッチ: deconstruct メソッドと deconstruct_keys メソッド