diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2019-12-20 21:37:46 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2019-12-20 21:37:46 +0900 |
commit | 1fea3a7636cfaf25baba1e9f208c68a8a8ba52cc (patch) | |
tree | 19d7e2a5ddc20140b20a4366592b106f46ae0502 /NEWS | |
parent | f7aee584987e24768670e96b1455ed1193f91ef2 (diff) | |
download | ruby-1fea3a7636cfaf25baba1e9f208c68a8a8ba52cc.tar.gz |
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.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -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 |