読者の皆様へ:お客様のご要望に応じて、重要なものを逃すことなく、ノイズを低減できる一連の機能を開発しました。興味のあるトピックを選択して、電子メールとWeb通知を入手してください。
6年連続のクリスマスの慣例にならって、12月25日に新しいメジャーリリースがリリースされた。
Ruby 2.5.0はパフォーマンスに関するいくつかの改善に特徴づけられる。最も注目すべきは、すべてのトレース命令をバイトコードから削除し、パフォーマンスを5~10%向上させたことである。TracePointをサポートするためのトレース命令が追加されていたが、ほとんどの場合、TracePointは使用されず、単なるオーバーヘッドとなっていた。Rubyは動的な計測技術をサポートしている。その他のパフォーマンス関連の改善によって、ブロックパラメータとしてブロックをパスするのが3倍高速化され、テンプレートからのERBコード生成が2倍高速化された。Array#concat、String#concat、Enumerable#sort_byなどの組み込み関数と、マルチスレッドで使用されるMutexクラスのパフォーマンスも改善した。
パフォーマンス向上のほかに、Struct.newはキーワード引数を受け入れるクラスを作成できるようになり、do/endブロックは直接ensure/rescue/elseフローと一緒に動作させられる。
ライブラリのサポートでは、標準ライブラリcmath、csv、date、dbmなど、fcntl、fiddle、fileutils、gdbm、ipaddr、scanf、sdbm、stringio、strscan、webrick、zlibがデフォルトのgemに昇格した。一方、お気に入りのppコマンドはRubyに組み込まれ、Rubyで最も一般的に使用されているコードの1つである「pp」は必要なくなった。
Ruby開発者は、スタックトレースを逆順で印刷するオプションを選択できるようになった。この目的は、トレースの下部ではなく上部にメインエラーメッセージを表示することである。この機能は実験的であり、後のリリースで削除される可能性がある。
ブランチとメソッドのカバレッジ測定もサポートされているため、コード実行中にさまざまなメソッドやブランチを呼び出すパフォーマンステストを改善できる。
トップレベルの定数検索が完全に廃止され、警告ではなくエラーが発生するようになる。yield_selfが追加されてコンテキスト内に与えられたブロックを生成できるようになる。tapとは異なり、オブジェクトの連鎖に役立つブロック結果も返すことができる。
Ruby 2.5.0は公式サイトからダウンロードでる。
Rate this Article
- Editor Review
- Chief Editor Action