【Ruby 3.0 Advent Calendar 2020】Ruby3.0で非推奨から廃止になるメソッドたち【4日目】

はじめに

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

昨日は、【Ruby 3.0 Advent Calendar 2020】Ruby3.0でRubyで実装されたメソッドたち【3日目】です。

gamelinks007.hatenablog.com


長らく非推奨だったメソッドを「Ruby3.0のリリースに合わせて廃止しようぜ」みたいな動きがあったりします(最近のruby-trunk-changesやGitHub上にあるRubyリポジトリとか見てると)

今日は長らく非推奨だったがRuby3.0で廃止されるメソッドについて一部紹介します。

廃止されるメソッド

ENV#index

github.com

1.9のあたりからdeprecatedの警告が表示されていたENV#indexを廃止しています。
引数に渡された値に対応するkeyを返すメソッドです。今後は代わりにENV#keyを使うことになりまね

IO周りのメソッドとARGF周りのメソッド

github.com

IO#linesIO#bytesIO#charsIO#codepoints
ARGF#linesARGF#bytesARGF#charsARGF#codepointsが廃止されています。

IO#linesARGF#linesは今後IO#each_lineARGF#each_lineを使うことになりです。
その他のメソッドも同様にeachがprefixについたメソッドを使うことになりそうです

リリースまでに廃止されそうなメソッド

github.com

このPRに記載されているメソッドなどはまとめて廃止されそうですね。
とはいえ、まだ議論中のようで廃止されるのは濃厚ですが、Ruby3.0で廃止されるかはまだわかりません。

また、こちらのTime#succもRuby3.0で廃止される可能性が高そうです。

github.com

おわりに

ここで紹介したメソッドは廃止されるため、使用されているgemなどを見かけたらコントリビューションチャンスかもしれませんね。
また廃止されるメソッドを知っておくことでRuby3.0へのバージョンアップ対応もスムーズに行けそうですね。