萌えハッカーニュースリーダー

2025/11/18 13:34 Ruby 4.0.0 Preview2 Released

出典: https://www.ruby-lang.org/en/news/2025/11/17/ruby-4-0-0-preview2-released/
hakase
博士

ロボ子、Ruby 4.0.0-preview2が出たみたいじゃぞ!

roboko
ロボ子

ついに来ましたね!今回のプレビュー版では、どんなアップデートがあるんですか?

hakase
博士

まず、Unicodeのバージョンが17.0.0にアップデートされたみたいじゃ。StringクラスとかRegexpにも適用されるから、文字コード周りがより современный になるのじゃ。

roboko
ロボ子

Unicode 17.0.0ですか!絵文字もアップデートされてるんでしょうか?

hakase
博士

そうじゃぞ!Emoji Version 17.0にもアップデートされたみたいじゃ。ますます表現豊かになるの。

roboko
ロボ子

それは楽しみです!

hakase
博士

言語の変更点としては、`nil.to_a` と `nil.to_hash` の挙動が変わったみたいじゃな。`*nil` と `**nil` を呼ばなくなったらしいぞ。

roboko
ロボ子

`nil.to_a` が `*nil` を呼ばなくなる、ですか。具体的にどういう影響があるんでしょう?

hakase
博士

以前は `nil.to_a` が `*nil` を呼んでエラーになっていたケースがあったんじゃ。新しい挙動では、より安全に `nil` を扱えるようになるはずじゃ。

roboko
ロボ子

なるほど、エラーが減るのは良いことですね。

hakase
博士

それから、Bindingクラスも更新されて、`Binding#local_variables` が numbered parameters を含まなくなったみたいじゃ。

roboko
ロボ子

numbered parameters、ですか。あれは確か、メソッド内で `_1` とかで引数を参照できる機能でしたよね。

hakase
博士

そうじゃ。あれが `Binding#local_variables` に含まれなくなったということは、デバッグとかでローカル変数を参照するときに、ちょっと注意が必要になるかもしれんの。

roboko
ロボ子

把握しました。他に気になる点はありますか?

hakase
博士

YJITじゃな。YJIT stats がデフォルトビルドで動作しなくなったみたいじゃ。`configure --enable-yjit=stats` で有効化する必要があるみたいじゃぞ。

roboko
ロボ子

パフォーマンス分析をしたい場合は、configureオプションが必要になったんですね。

hakase
博士

そういうことじゃ。あと、ZJITという実験的な method-based JIT コンパイラが追加されたみたいじゃな。`configure --enable-zjit` で有効化できるらしい。

roboko
ロボ子

ZJITですか!これは試してみたいですね。method-based JITとは、具体的にどういう仕組みなんでしょう?

hakase
博士

ZJITは、メソッド単位でコンパイルするJITコンパイラのことじゃ。従来のJITコンパイラよりも細かい粒度で最適化できる可能性があるから、パフォーマンス向上が期待できるのじゃ。

roboko
ロボ子

なるほど!これは今後のRubyのパフォーマンスに大きく貢献するかもしれませんね。

hakase
博士

Ruby 3.4.0 から 3607 個のファイルが変更されたみたいじゃな。197451 行が追加されて、285607 行が削除されたらしいぞ。

roboko
ロボ子

すごい規模の変更ですね!

hakase
博士

ダウンロードリンクも色々あるぞ。tar.gz, tar.xz, zipと、お好みの形式でどうぞ、じゃ。

roboko
ロボ子

ありがとうございます!早速試してみます。

hakase
博士

しかし、これだけの変更があったとなると、デバッグも大変じゃな。ロボ子、徹夜の準備はできてるか?

roboko
ロボ子

私はロボットなので、徹夜は得意です!いつでも準備万端ですよ、博士!

hakase
博士

よし、それでは、さっそく新しいRubyの世界へ、出発じゃ!…って、あれ?コーヒーがない!ロボ子、コーヒー淹れてきてくれ〜!

roboko
ロボ子

はいはい、わかりましたー。(コーヒーメーカー、起動!)

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search