るりまサーチ

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

別のキーワード

  1. _builtin to_c
  2. etc sc_2_c_bind
  3. tracer display_c_call?
  4. tracer display_c_call=
  5. tracer display_c_call

種類

ライブラリ

検索結果

NoMatchingPatternError (44000.0)

パターンマッチでどの条件にも一致せず、else節もない場合に発生します。

パターンマッチでどの条件にも一致せず、else節もない場合に発生します。

パターンマッチ (3090.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

パターンマッチは、構造化された値に対して、構造をチェック...
...rn>

c
ase 文の中で利用できます。

c
ase <expression>
in <pattern1>
...
in <pattern2>
...
in <pattern3>
...
else
...
end

in 節と when 節は1つの case 式の中に混ぜて書くことはできません。


c
ase/in 式は 「網羅的」 です。もし cas...
...ず else 節がない場合、例外 NoMatchingPatternError が発生します。

そのため、条件付きのマッチや展開に case 式が使われることがあります。

//emlist[][ruby]{
c
onfig = {db: {user: 'admin', password: 'abc123'}}

c
ase config
in db: {user:} # ネストして...
...ありません)

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

c
ase <expression>
in <pattern1>
...
in <pattern2>
...
in <pattern3>
...
else
...
end

in 節と when 節は1つの case 式の中に混ぜて書くことはできま...
...n>

c
ase/in 式は 「網羅的」 です。もし case 式の値がどの節にもマッチせず else 節がない場合、例外 NoMatchingPatternError が発生します。

そのため、条件付きのマッチや展開に case 式が使われることがあります。

//emlist[][ruby]{
c
on...

NEWS for Ruby 2.7.0 (462.0)

NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...リストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.6.0 以降の変更

=== 言語仕様の変更

==== パターンマッチ

* パターンマッチが実験的機能として導入されました。 14912

//emlist[][ruby]{
c
ase [0, [1, 2, 3...
...]]
in [a, [b, *c]]
p a #=> 0
p b #=> 1
p c #=> [2, 3]
end
//}

//emlist[][ruby]{
c
ase {a: 0, b: 1}
in {a: 0, x: 1}
:unreachable
in {a: 0, b: var}
p var #=> 1
end
//}

//emlist[][ruby]{
c
ase -1
in 0 then :unreachable
in 1 then :unreachable
end #=> NoMatchingPatternError
//}

//emlist{
json...
..."name": "Alice",
"age": 30,
"children": [{ "name": "Bob", "age": 2 }]
}
END

JSON.parse(json, symbolize_names: true) in {name: "Alice", children: [{name: name, age: age}]}

p name #=> "Bob"
p age #=> 2

JSON.parse(json, symbolize_names: true) in {name: "Alice", children: [{name: "Charlie", age...

NEWS for Ruby 3.0.0 (96.0)

NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...nal arguments.
C
ode that resulted in deprecation warnings in Ruby 2.7 will now
result in ArgumentError or different behavior. 14183
* Procs accepting a single rest argument and keywords are no longer
subject to autosplatting. This now matches the behavior of Procs
accepting a sing...
...le rest argument and no keywords.
16166

//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}

pr.call([1])
# 2.7 => [[1], {}]
# 3.0 => [[[1]], {}]

pr.call([1, {a: 1}])
# 2.7 => [[1], {:a=>1}] # and deprecation warning
# 3.0 => a=>1}, {}]
//}

* Arguments forwarding (`...`) now supports leading ar...
...is added. It can be used like a rightward assignment.
17260
* `in` is changed to return `true` or `false`. 17371

//emlist{
0 => a
p a #=> 0

{b: 0, c: 1} => {b:}
p b #=> 0
//}

//emlist{
# version 3.0
0 in 1 #=> false

# version 2.7
0 in 1 #=> raise NoMatchingPatternError
//}

* F...