Ruby 3.1で発生する差異
Ruby 3.1(2021年12月25日リリース)で本書のサンプルコードを動かす場合は、以下の点が本書の内容と異なりますのでご注意ください。
- 公式リファレンスのURLが変わった(1.8)
- IRB上で自動補完とドキュメント表示ができるようになった(第2章 P49のコラム「Ruby 2.7以降で使えるirbの便利機能」)
- パターンマッチのピン演算子にローカル変数以外の式も渡せるようになった(11.3.2)
- パターンマッチのピン演算子にインスタンス変数、クラス変数、グローバル変数が渡せるようになった(11.3.2)
- 1行パターンマッチが実験的機能でなくなった(11.5.2)
- debug.gemがインストール不要になった(12.4.4)
- エラーハイライト(error_highlight)が導入された(本書全般、特に第12章)
- Steepの型チェックが少し厳しくなった(13.10.2)
また、本書執筆時点にはなかった、以下のような新しい言語仕様が追加されています。
- エンドレスメソッド定義でコマンド構文が書けるようになった(2.11.4)
- ハッシュリテラルとキーワード引数で値を省略できるようになった(5.4)
- 他のメソッドにブロックを渡すだけならメソッド定義時に引数名を付けなくてもよくなった(10.2.2)
- 1行パターンマッチで右辺の括弧が省略できるようになった(11.5.2)
詳しい内容は以下のWeb記事で説明しています。ぜひご覧ください。
Ruby 3.1で発生する「プロを目指す人のためのRuby入門」との差異について - Qiita
第1版をお持ちの方へ
改訂2版の発売に伴い、上記の説明は2021年12月2日に発売された改訂2版の内容をベースにしています。第1版をお持ちの方はご注意ください。