deconstruct_keys(array_of_names_or_nil) -> Hash
[permalink][rdoc][edit]-
パターンマッチに使用する名前と値の Hash を返します。
キーに利用できる名前は以下の通りです。
- :year
- :month
- :day
- :yday
- :wday
- :hour
- :min
- :sec
- :sec_fraction
- :zone
- [PARAM] array_of_names_or_nil:
- パターンマッチに使用する名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。
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 メソッド