るりまサーチ

最速Rubyリファレンスマニュアル検索!
15件ヒット [1-15件を表示] (0.133秒)
トップページ > クエリ:-[x] > クエリ:r[x] > クエリ:RUBY[x] > クエリ:deconstruct[x]

別のキーワード

  1. _builtin to_r
  2. open3 pipeline_r
  3. matrix elements_to_r
  4. fileutils cp_r
  5. fileutils chmod_r

ライブラリ

クラス

キーワード

検索結果

Data#deconstruct -> array (24325.0)

self のメンバの値を配列で返します。

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

distance = Measure.new(10, 'km')
distance.deconstruct # => [10, "km"]
//}

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

//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10...
...e
in n, 'km' # 裏側で #deconstruct を呼ぶ
puts "It is #{n} kilometers away"
else
puts "Don't know how to handle it"
end
# "It is 10 kilometers away" が表示される

# 以下のようにも書ける
case distance
in Measure(n, 'km')
puts "It is #{n} kilometers away"
# ...
end
//}

[...

Data#deconstruct_keys(array_of_names_or_nil) -> hash (12331.0)

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

...の名前と値の組を 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 "Don't know how to handle it"
end
# "It is 10 kilometers away" が表示さ...
...れる

# 以下のようにも書ける
case distance
in Measure(amount:, unit: 'km')
puts "It is #{amount} kilometers away"
# ...
end
//}

@param array_of_names_or_nil 返り値に含めるメンバの名前の配列を指定します。nil の場合は全てのメンバを意味します。

[...

パターンマッチ (3384.0)

パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples

...パターンマッチ
* patterns
* variable_binding
* variable_pinning
* matching_non_primitive_objects
* guard_clauses
* current_feature_status
* pattern_syntax
* some_undefined_behavior_examples

パターンマッチは、構造化された値に対して、構造をチェック...
...で、Ruby では代入と読み替えても問題ありません)

Ruby
でのパターンマッチは in 演算子を用いて実装されており、単体の式や

<expression> in <pattern>

case 文の中で利用できます。

case <expression>
in <pattern1>
...
in <pattern2>...
...ttern> => variable』 または 『variable』 (「As パターン」, 「Variable パターン」)

Array/Hash パターンの中に 『<subpattern>』 と書かれている場所では任意のパターンをネストさせることができます。

Array パターン は配列か deconstruct...
...ある関数型言語の用語で、Ruby では代入と読み替えても問題ありません)

Ruby
でのパターンマッチは case/in 式を用いて実装されています。

case <expression>
in <pattern1>
...
in <pattern2>
...
in <pattern3>
...
else
...
end

i...
...『variable』 (「As パターン」, 「Variable パターン」)

Array/Find/Hash パターンの中に 『<subpattern>』 と書かれている場所では任意のパターンをネストさせることができます。

Array パターン と Find パターン は配列か deconstruct メソ...