ruby 2.7で追加されたパターンマッチングを使うと良さそうな場面
Discussion
Closed
Ruby2.7で追加されたパターンマッチングですが、今のところまだ「case文とかif文のネストを減らせるくらいかな」ぐらいの認識です。(関数型言語でいうパターンマッチとはまたちょっと違うので)
RUby2.7のパターンマッチング機能を使うと便利なシーンやケースなどあれば教えていただきたいです!
1
Discussion
Closed
Ruby2.7で追加されたパターンマッチングですが、今のところまだ「case文とかif文のネストを減らせるくらいかな」ぐらいの認識です。(関数型言語でいうパターンマッチとはまたちょっと違うので)
RUby2.7のパターンマッチング機能を使うと便利なシーンやケースなどあれば教えていただきたいです!
APIのレスポンスのJSONのテスト書くときすごく便利そうだなあと思ってます。
@hanachin_ 確かにJSONなどの階層構造になってるハッシュデータの中から特定の値だけみて検証したいみたいなときめっちゃ便利そうですね!
rspecとかでan_instance_of
などでお茶を濁しているところを全部パターンマッチだけで解決できそうです
JSONに関してはRubyKaigi 2019での発表でも取り上げられていました
https://rubykaigi.org/2019/presentations/k_tsj.html#apr18
後はパターンマッチがあると綺麗に書けるようなデータ構造とかで有用で赤黒木とか
https://github.com/shugo/immutable/pull/11/files
case
/end
を省略する事でハッシュの分割代入ができて便利なんですが
パターンマッチングか?と言われると「うーん」となるし、何よりバグくさい
{a: 1234, b: 5678} in {a: a}
p a # => 1234