mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
NEWS: Update the explanation of pattern matching
Add an example of "<expr> in <pattern>", an example of NoMatchingPatternError, and mention that the slides are slightly obsolete.
This commit is contained in:
parent
f7aee58498
commit
1fea3a7636
1 changed files with 14 additions and 4 deletions
18
NEWS
18
NEWS
|
@ -32,6 +32,11 @@ sufficient information, see the ChangeLog file or Redmine
|
||||||
p var #=> 1
|
p var #=> 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
case -1
|
||||||
|
in 0 then :unreachable
|
||||||
|
in 1 then :unreachable
|
||||||
|
end #=> NoMatchingPatternError
|
||||||
|
|
||||||
json = <<END
|
json = <<END
|
||||||
{
|
{
|
||||||
"name": "Alice",
|
"name": "Alice",
|
||||||
|
@ -39,13 +44,18 @@ sufficient information, see the ChangeLog file or Redmine
|
||||||
"children": [{ "name": "Bob", "age": 2 }]
|
"children": [{ "name": "Bob", "age": 2 }]
|
||||||
}
|
}
|
||||||
END
|
END
|
||||||
case JSON.parse(json, symbolize_names: true)
|
|
||||||
in {name: "Alice", children: [{name: "Bob", age: age}]}
|
JSON.parse(json, symbolize_names: true) in {name: "Alice", children: [{name: name, age: age}]}
|
||||||
p age #=> 2
|
|
||||||
end
|
p name #=> "Bob"
|
||||||
|
p age #=> 2
|
||||||
|
|
||||||
|
JSON.parse(json, symbolize_names: true) in {name: "Alice", children: [{name: "Charlie", age: age}]}
|
||||||
|
#=> NoMatchingPatternError
|
||||||
|
|
||||||
* See the following slides in detail
|
* See the following slides in detail
|
||||||
* https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7
|
* https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7
|
||||||
|
* Note that the slides are slightly obsolete
|
||||||
|
|
||||||
==== The spec of keyword arguments is changed towards 3.0
|
==== The spec of keyword arguments is changed towards 3.0
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue