29件ヒット
[1-29件を表示]
(0.047秒)
別のキーワード
種類
- インスタンスメソッド (17)
- 文書 (12)
検索結果
先頭5件
-
Data
# deconstruct _ keys(array _ of _ names _ or _ nil) -> Hash (18226.0) -
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 "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 の場合は全てのメンバを意味します。
[注... -
MatchData
# deconstruct _ keys(array _ of _ names) -> Hash (18226.0) -
引数で指定された名前の名前付きキャプチャを Hash で返します。
...す。
@param array_of_names 名前付きキャプチャの名前の配列を指定します。nil の場合は全ての名前付きキャプチャを意味します。
//emlist[例][ruby]{
m = /(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})/.match("18:37:22")
m.deconstruct_keys([:hours, :min......"18", :minutes => "37"}
m.deconstruct_keys(nil) # => {:hours => "18", :minutes => "37", :seconds => "22"}
# 名前付きキャプチャが定義されていなかった場合は空のハッシュを返す
m = /(\d{2}):(\d{2}):(\d{2})/.match("18:37:22")
m.deconstruct_keys(nil) # => {}
//}
@see d:s... -
Struct
# deconstruct _ keys(array _ of _ names) -> Hash (18220.0) -
self のメンバの名前と値の組を Hash で返します。
...am array_of_names 返り値に含めるメンバの名前の配列を指定します。nil の場合は全てのメンバを意味します。
//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
h = joe.deconstruct_keys([......:address])
h # => {:zip=>12345, :address=>"123 Maple, Anytown NC"}
# 引数が nil の場合は全てのメンバを返します。
h = joe.deconstruct_keys(nil)
h # => {:name=>"Joseph Smith, Jr.", :address=>"123 Maple, Anytown NC", :zip=>12345}
//}
[注意] 本メソッドの記述は Struct の... -
Date
# deconstruct _ keys(array _ of _ names _ or _ nil) -> Hash (18214.0) -
パターンマッチに使用する名前と値の Hash を返します。
...yday
* :wday
@param array_of_names_or_nil パターンマッチに使用する名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。
//emlist[例][ruby]{
d = Date.new(2022, 10, 5)
if d in wday: 3, day: ..7 # deconstruct_keys が使われます... -
DateTime
# deconstruct _ keys(array _ of _ names _ or _ nil) -> Hash (18214.0) -
パターンマッチに使用する名前と値の Hash を返します。
...zone
@param array_of_names_or_nil パターンマッチに使用する名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。
//emlist[例][ruby]{
dt = DateTime.new(2022, 10, 5, 13, 30)
if dt in wday: 1..5, hour: 10..18 # deconstruct_keys が使わ... -
Time
# deconstruct _ keys(array _ of _ names _ or _ nil) -> Hash (18214.0) -
パターンマッチに使用する名前と値の Hash を返します。
...* :zone
@param array_of_names_or_nil パターンマッチに使用する名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。
//emlist[例][ruby]{
t = Time.utc(2022, 10, 5, 21, 25, 30)
if t in wday: 3, day: ..7 # deconstruct_keys が使われま... -
パターンマッチ (180.0)
-
パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples
...ジェクト (when と同じように、『===』演算子でマッチする) (「Value パターン」)
* Array パターン: 『[<subpattern>, <subpattern>, <subpattern>, ...]』 (「Array パターン」)
* Hash パターン: 『{key: <subpattern>, key: <subpattern>, ...}』 (「Hash パタ......『variable』 (「As パターン」, 「Variable パターン」)
Array/Hash パターンの中に 『<subpattern>』 と書かれている場所では任意のパターンをネストさせることができます。
Array パターン は配列か deconstruct メソッド(後述)を持つオ......ターン はハッシュか deconstruct_keys メソッド(後述)を持つオブジェクトにマッチします。Hash パターン で利用できるキーはシンボルのみです。
Array パターン と Hash パターン の挙動の重要な違いは Array パターンは配列の 「全......ジェクト (when と同じように、『===』演算子でマッチする) (「Value パターン」)
* Array パターン: 『[<subpattern>, <subpattern>, <subpattern>, ...]』 (「Array パターン」)
* Find パターン: 『[*variable, <subpattern>, <subpattern>, <subpattern>, ..., *vari......『variable』 (「As パターン」, 「Variable パターン」)
Array/Find/Hash パターンの中に 『<subpattern>』 と書かれている場所では任意のパターンをネストさせることができます。
Array パターン と Find パターン は配列か deconstruct メソ...