オープンソースのプログラミング言語であるRubyの開発チームは、最新バージョンとなる「Ruby 3.2.0」を12月25日にリリースしている。
「Ruby 3.2.0」では、WASIベースのWebAssemblyへのコンパイルがサポートされており、ブラウザやサーバレスエッジ環境、その他のWebAssembly/WASI環境でCRubyのバイナリが利用できるようになった。現在、この移植版はThread API以外のbasic testとbootstrap testをパスしている。
WASIベースのWebAssemblyへのコンパイルのサポートは、開発者がCRubyをWebAssembly環境で利用することを促進し、CRubyをWebブラウザ上で試せるようになった。
現時点では、WASIとWebAssemblyにFiberや例外、GCを実装するための機能に一部足りないものがある。CRubyでは、このギャップを埋めるためにユーザランドで実行を制御可能なAsyncifyというバイナリ変換技術を使っている。
さらに、WASI上にVFSを実装することによって、Rubyアプリを単一の.wasmファイルに容易にパッケージ化でき、Rubyアプリの配布が容易になった。
そのほか、YJITが実用段階になるとともに、ReDoSに対するRegexpの改善としてRegexpのマッチングアルゴリズムの改善と、Regexpへのタイムアウト導入が行われている。また、syntax_suggestの機能がRubyに統合されたほか、TypeErrorとArgumentErrorの引数を下線表示するようになり、匿名の可変長引数と可変長キーワード引数はメソッドパラメータとしてだけではなく、引数としても使えるようになるなど、非常に多くの機能追加・改善が行われた。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
