るりまサーチ (Ruby 3.3)

最速Rubyリファレンスマニュアル検索!
1件ヒット [1-1件を表示] (0.151秒)
トップページ > クエリ:I[x] > クエリ:h[x] > バージョン:3.3[x] > クエリ:on[x] > クエリ:hash[x] > クラス:Data[x]

別のキーワード

  1. _builtin to_h
  2. hash to_h
  3. env to_h
  4. array to_h
  5. struct to_h

ライブラリ

検索結果

Data#deconstruct_keys(array_of_names_or_nil) -> Hash (19255.0)

self のメンバの名前と値の組を Hash で返します。

...self のメンバの名前と値の組を Hash で返します。

//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)

distance = Measure.new(10, 'km')
distance.deconstruct_keys(nil) # => {:amount=>10, :unit=>"km"}
distance.deconstruct_keys([:amount]) # => {:amount=>10}
//}

このメ...
...ソッドは以下のようにパターンマッチで利用されます。

//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')

case distance
in amount:, unit: 'km' # 裏側で #deconstruct_keys を呼ぶ
puts "It is #{amount} kilometers away"
else
puts...
...の場合は全てのメンバを意味します。

[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。

@see d:spec/pattern_...