5
0

【Ruby Gold3.1詰まったシリーズ】includedメソッドについて

Last updated at Posted at 2023-12-21

はじめに

今回はincludedに関する内容です。Ruby Goldの試験でincludedに関して自信を持って回答できなかったため、簡単にまとめてみます。

irbで確認してみた

環境はruby 3.1.4です。
こちらによると、クラスでモジュールがincludeされた際に呼び出されるメソッドらしいです。
実際に、クラスに対してモジュールをincludeし実行

module Mod
    def self.included(base)
        p "#{base} include #{self}"
    end
end

class Hoge
    include Mod
end
irb(main):001* module Mod
irb(main):002*     def self.included(base)
irb(main):003*       p "#{base} include #{self}"
irb(main):004*     end
irb(main):005> end
=> :included
irb(main):006> 
irb(main):007* class Hoge
irb(main):008*     include Mod
irb(main):009> end
"Hoge include Mod"
=> Hoge

すると、includedメソッドが呼び出されて"Hoge include Mod"が表示されていました。

おわりに

確認した結果、includedメソッドはクラスでモジュールがincludeされた際に呼び出されるメソッドだということが分かりました。includeされた時に裏でどんなメソッドが関連して動いているのか普段気にすることがあまりなかったので、今回知れて良かったです!誤り等ありましたらご指摘いただけますと助かります!

参考

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0