2024/12/3 Ruby Syntax Moratorium til 3.4
https://scrapbox.io/files/674ee9e8b1415bf873b1a4a4.png
わりとだからなんだという話です
ちょうど RubyKaigi が終わったあたりで活気のある記事も多い時期でした
Hi,
As some may remember from the closing keynote at RubyKaigi, we are introducing Syntax Moratorium to support fair development of parsers.
During the Syntax Moratorium period, new syntactical changes will be suspended (changes not includes bug fixes, of course). The moratorium period is scheduled to end with the release of 3.4, since the respective parser developers told us they did not need a very long period of time.
Matz.
というわけで最近出ていた Ruby 3.4.0 preview2 のリリース内容を見てみます
Issue にあったパーサが Prism ですね
調べてみると去年のクリスマスに default gem になっていることを知りました
話題になっていた it がブロックパラメータに使えるようになってます
今まで _1 なんかで表現していた Named Parameter は置き換え可能そうです
エラーメッセージについての変更については今まで知りませんでした
エラーメッセージとバックトレースの表示が変更されました
冒頭の引用符にはバッククォートの代わりにシングルクォートを使用します
メソッド名の前にクラス名を表示します(クラスが永続的な名前を持つ場合のみ)
code:exception
Old:
test.rb:1:in foo': undefined method time' for an instance of Integer
from test.rb:2:in `<main>'
New:
test.rb:1:in 'Object#foo': undefined method 'time' for an instance of Integer
from test.rb:2:in '<main>'
けっこう見栄えが違いますね
エラーをパースして解析するようなgemもしくはアプリケーションがある場合は影響がありそうです
Matz のコメントが面白くて、以前はバッククォートを左の引用符に使う慣習があったようです 今日はささっと以上です