はじめに
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へのバージョンアップ対応もスムーズに行けそうですね。