【Ruby 3.0 Advent Calendar 2020】Win32APIが廃止された【11日目】

はじめに

Ruby 3.0 Advent Calendar 2020 11日目の記事になります。

昨日は、【Ruby 3.0 Advent Calendar 2020】Arguments forwardingがちょっと便利になった【10日目】です。

gamelinks007.hatenablog.com

今日は、Win323APIが廃止されたことを紹介します。

Win32APIとは?

WIndowsの32bit用のAPIのことで、WindowsAPIを使うことで簡単にメッセージボックスなどを作成することができます。 WindowsではそれらのAPIを経由してWindowsアプリケーションを作ることが出来たりします。

廃止されたWin32API

今回廃止されたのはWin32APIをRubyから呼び出す部分のようですね。 Rubyでは、1.9.1以降からdeprecatedとなっていたようで、今回のRuby3.0のリリースに合わせて廃止されたようです。

github.com

ちなみにチケットはこちら

bugs.ruby-lang.org

ちなみに、代替としてfiddleというライブラリを使うようです。 fiddleからダイナミックリンクライブラリを読み込んで、読み込んだライブラリ経由でAPIを実行する感じっぽい?

docs.ruby-lang.org

ちなみに、他のRuby内部のコードでWin32APIを使っている箇所はfiddleに置き換えられたりしてます。

github.com

Windowsを使うRubyユーザーでWin32APIを使っているという人たちは対応が必要そうですが、母数はあまり多くないかもしれませんね。

参考

ruby-trunk-changes.hatenablog.com

bugs.ruby-lang.org

github.com