Ruby 3.2.0 Preview 1がリリース - WASIベースのWebAssemblyサポートや、正規表現のタイムアウト指定、標準ライブラリのアップデートなど

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20220404 95315

Ruby開発プロジェクトは4月3日、Ruby 3.2シリーズの最初のプレビュー版である「Ruby 3.2.0 Preview 1」をリリースしました(ruby-lang.org)。現在公式サイトよりソースコードをダウンロードすることができます。

Ruby 3.2.0 Preview 1の新機能としてはまず、WASIベースのWebAssemblyサポートがあげられています。現在はThread API以外のbasic testとbootstrap testをパスした状態で、これにより、ブラウザやサーバーレスエッジ環境、その他のWebAssembly/WASI環境でCRubyのバイナリが利用できるようになるとのことです。

また、正規表現マッチングにタイムアウトを指定できるようになり、適切にRegexp.timeoutを設定することで、DoSのリスクを防止、または大幅に緩和することができるようになっています。Regexp.timeoutはグローバルな設定で、一部の正規表現にだけ異なるタイムアウトを設定したい場合、Regexp.newのtimeoutキーワードを使用します。

Regexp.timeout = 1.0

long_time_re = Regexp.new("^a*b?a*$", timeout: nil) # タイムアウトなし

long_time_re =~ "a" * 50000 + "x" # 割り込まれない

その他Find patternの実験的機能からの昇格や、libyaml、libffiのようなサードパーティ製ライブラリのソースコードの同梱の廃止、パフォーマンスの改善、標準ライブラリのアップデートなど多数の変更が行われています。

3.1からの変更点を含め詳細はこちらで確認可能です。

Pc タイトル Ruby
公式サイト http://www.ruby-lang.org/ja/
ソフトアンテナ https://softantenna.com/softwares/1964-ruby
説明 オブジェクト指向スクリプト言語。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次