はじめに
Ruby 3.0 Advent Calendar 2020 4日目の記事になります。
昨日は、【Ruby 3.0 Advent Calendar 2020】Ruby3.0でRubyで実装されたメソッドたち【3日目】です。
長らく非推奨だったメソッドを「Ruby3.0のリリースに合わせて廃止しようぜ」みたいな動きがあったりします(最近のruby-trunk-changesやGitHub上にあるRubyのリポジトリとか見てると)
今日は長らく非推奨だったがRuby3.0で廃止されるメソッドについて一部紹介します。
廃止されるメソッド
ENV#index
1.9のあたりからdeprecatedの警告が表示されていたENV#indexを廃止しています。
引数に渡された値に対応するkeyを返すメソッドです。今後は代わりにENV#keyを使うことになりまね
IO周りのメソッドとARGF周りのメソッド
IO#lines、IO#bytes、IO#chars、IO#codepoints、
ARGF#lines、ARGF#bytes、ARGF#chars、ARGF#codepointsが廃止されています。
IO#linesとARGF#linesは今後IO#each_lineとARGF#each_lineを使うことになりです。
その他のメソッドも同様にeachがprefixについたメソッドを使うことになりそうです
リリースまでに廃止されそうなメソッド
このPRに記載されているメソッドなどはまとめて廃止されそうですね。
とはいえ、まだ議論中のようで廃止されるのは濃厚ですが、Ruby3.0で廃止されるかはまだわかりません。
また、こちらのTime#succもRuby3.0で廃止される可能性が高そうです。
おわりに
ここで紹介したメソッドは廃止されるため、使用されているgemなどを見かけたらコントリビューションチャンスかもしれませんね。
また廃止されるメソッドを知っておくことでRuby3.0へのバージョンアップ対応もスムーズに行けそうですね。