ねこものがたり

いちにちいっぽ

Ruby2.7のパターンマッチのざっくりした感想疑問をまとめます

ざっとやってみて

  • "パターン"で処理を分岐できるのはとてもわかり易い
  • 複雑なパターンが想定されるときcase/whenとほぼ同じ構文でより具体的で柔軟に書けるんじゃないかと思った(想像)
  • digでやっていることをパターンマッチで書き換えられるらしいので次は練習代わりにそれをやりたいと思った

パターンマッチに関する疑問

  • Arraydeconstruct, Hashdeconstruct_keys(keys)ってなんなん?irbの中で定義しなくても動いたけどサンプルにあるのはなんでだろう?詳細の章読んでもようわからん!
  • 設計思想や仕様の深いところも理解が全く追いついてない。素晴らしい人の素晴らしさはとてもよく分かった。

その他の疑問

  • 2.6 パターンマッチの仕様設計の P77に乗っているJSでできる多重代入の例、Rubyでこういう書き方をサポートしようというのはないのだろうか?
    • Rubyの良さを殺さない設計」という旨が書かれていたけど、自分はRubyの良さを良さと知らずにやっているんだろうなという気持ちになった
    • だからたぶん「Rubyでやらないこと」がしっくりこないんだろうな
# 載ってたコード
[a, b] = [0, 1];
a; // 0
{x, y} = {x: 0, y: 1}; y; // 1

その他感想

  • 2.7のブロック単位でヒストリー追えるだけじゃなくてirb行を戻って修正できるのがすごくありがたい。本当に便利だよ・・・。プライベートで2.7で書いていて主に業務で2.6.5にも戻ったときに「ああ・・・」って気持ちになるのを最近は繰り返していますw