😊
【Ruby 3.4 Advent Calender】エラーメッセージをシングルクオートで統一する【1日目】
Ruby 3.4 Advent Calender 8日目の記事です。
これはなに
今年 2024年12月25日にリリースされる予定の Ruby 3.4 の新機能や変更点などを1つずつ紹介していく Advent Calender になります。
基本的には NEWS に載っている機能を紹介すると思うんですがここにない機能についても書くかもしれません。
また、記事を書いてる時点ではまだ Ruby 3.4 はリリースされる前なので Ruby 3.4 がリリースされた時点で機能が変わっている 可能性があるかもしれないので注意してください。
記事のまとめは ここを参照 してください。
エラーメッセージ内の表記がシングルクオートで統一された
例えば Ruby 3.3 で次のような Ruby のコードを実行した場合に
foo
以下のようなエラーメッセージが出力されます。
test.rb:1:in `<main>': undefined local variable or method `foo' for main (NameError)
foo
^^^
この
`foo'
部分が Ruby 3.4 から 'foo'
で統一されるようになります。
$ RBENV_VERSION=3.3.6 ruby test.rb
test.rb:1:in `<main>': undefined local variable or method `foo' for main (NameError)
foo
^^^
$ RBENV_VERSION=3.4-dev ruby test.rb
test.rb:1:in '<main>': undefined local variable or method 'foo' for main (NameError)
foo
^^^
これが統一されていないことでエディタとかで扱いづらかったので個人的には統一されたことによりかなりストレスが軽減されますねー。
エラーメッセージをパースするようなツールやエラーメッセージの内容に依存しているようなコードを書いている場合は非互換になるので注意してください。
Discussion