タグ

ブックマーク / zenn.dev/tyanakaz (1)

  • Ruby 3.0 から OpenStruct が非推奨になった

    はじめに 標準ライブラリのOpenStructクラスは柔軟に使用出来るため、気軽に使ってきたものの、Ruby3.0から非推奨になった。 DTOパターン(クラス間のデータの受け渡し)や型を気にしなくても良いテストコードなどで使用してきたが、RuboCop1.23で監視されることになったため気を付けないといけなさそうなので簡単に調べてみた。 なぜ非推奨になったのか? 公式コメント 簡単に翻訳すると以下のようなことらしいです。 パフォーマンスが悪い クラス内部でmethod_missingやdefine_singleton_methodが多用されているために、見えないところでループ処理が実行される StructやHashよりも明らかに遅い Hashと比べると200倍遅い。。 バージョン間で非互換性がある バージョンの違うと特定のメソッドで返り値の型が変わることがある 組み込みのメソッドが簡単にオ

    Ruby 3.0 から OpenStruct が非推奨になった
    iga_k
    iga_k 2024/06/04
  • 1