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
|
||||
end
|
||||
|
||||
case -1
|
||||
in 0 then :unreachable
|
||||
in 1 then :unreachable
|
||||
end #=> NoMatchingPatternError
|
||||
|
||||
json = <<END
|
||||
{
|
||||
"name": "Alice",
|
||||
|
@ -39,13 +44,18 @@ sufficient information, see the ChangeLog file or Redmine
|
|||
"children": [{ "name": "Bob", "age": 2 }]
|
||||
}
|
||||
END
|
||||
case JSON.parse(json, symbolize_names: true)
|
||||
in {name: "Alice", children: [{name: "Bob", age: age}]}
|
||||
p 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: age}]}
|
||||
#=> NoMatchingPatternError
|
||||
|
||||
* See the following slides in detail
|
||||
* 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
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue