TOPSoftware > Ruby 2.6の新機能とRuby 2.5のおさらい

Software

Ruby 2.6の新機能とRuby 2.5のおさらい

2019/01/08

Paul Krill InfoWorld

 プログラミング言語Rubyの最新版であるRuby 2.6.0が、2018年12月25日にリリースされた。Ruby 2.6シリーズの最初の安定版だ。

Ruby 2.6の新機能

Credit: Aleksey Nemiro

 Ruby 2.6では、プログラムの実行を高速化するJIT(Just-In-Time)コンパイラが導入された。RubyのJITコンパイラは、C言語のコードをディスクに書き込み、Cコンパイラのプロセスを使ってネイティブコードに変換するという手法を用いている。このJITコンパイラを利用するには、GCC、Clang、Microsoft Visual C++のいずれかのコンパイラでビルドされたRubyを使い、かつそのコンパイラが実行時に利用可能であることが必要となる。

 そのほか、Ruby 2.6には次のような変更点がある。

  • $SAFEがプロセスグローバルで扱われるようになり、0以外を設定した後で0に戻せるようになった。
  • blockがブロックパラメータである時のblock.callが高速化された。
  • Proc#callが高速化された。
  • 抽象構文木(AST:Abstract Syntax Tree)を扱うRubyVM::AbstractSyntaxTreeモジュールが実験的に導入された。文字列をパースしてASTのノードを返すparseメソッドや、ファイルをパースしてASTのノードを返すparse_fileメソッドがある。
  • RubyVM::AbstractSyntaxTree::Nodeクラスが導入された。このクラスのインスタンスから、位置情報や子ノードを取得できる。
  • 定数名の先頭にASCII以外の大文字を使えるようになった。
  • 終端なしのRangeが使えるようになった。
  • Transient Heap(theap)が導入された。特定のクラスのオブジェクトが利用する短寿命のメモリーを管理する。
  • サポートするUnicodeのバージョンが11になった。
  • gemの依存関係を管理するBundlerが、default gemsとして標準装備となった。

Ruby 2.6のダウンロード

 Ruby 2.6.0は、Rubyの公式サイトからダウンロードできる。

↑ページ先頭へ