ざっとやってみて
- "パターン"で処理を分岐できるのはとてもわかり易い
- 複雑なパターンが想定されるとき
case/when
とほぼ同じ構文でより具体的で柔軟に書けるんじゃないかと思った(想像)
dig
でやっていることをパターンマッチで書き換えられるらしいので次は練習代わりにそれをやりたいと思った
パターンマッチに関する疑問
Array
のdeconstruct
, Hash
のdeconstruct_keys(keys)
ってなんなん?irbの中で定義しなくても動いたけどサンプルにあるのはなんでだろう?詳細の章読んでもようわからん!
- 設計思想や仕様の深いところも理解が全く追いついてない。素晴らしい人の素晴らしさはとてもよく分かった。
その他の疑問
- 2.6 パターンマッチの仕様設計の P77に乗っているJSでできる多重代入の例、Rubyでこういう書き方をサポートしようというのはないのだろうか?
- 「Rubyの良さを殺さない設計」という旨が書かれていたけど、自分はRubyの良さを良さと知らずにやっているんだろうなという気持ちになった
- だからたぶん「Rubyでやらないこと」がしっくりこないんだろうな
# 載ってたコード
[a, b] = [0, 1];
a;
{x, y} = {x: 0, y: 1}; y;
その他感想
- 2.7のブロック単位でヒストリー追えるだけじゃなくてirb行を戻って修正できるのがすごくありがたい。本当に便利だよ・・・。プライベートで2.7で書いていて主に業務で2.6.5にも戻ったときに「ああ・・・」って気持ちになるのを最近は繰り返していますw