rubyのModule体験03 – クラスメソッドの呼び出し

体験02では、module内でインスタンスメソッドを呼び出そうと思っったとき、module_functionを使用して、関数を指定しないと呼び出せないという風に書きましたが、クラスメソッドの場合は別です。moduleから直接呼び出すことができます。ただし、includeやextendで拡張したクラスからは呼び出すことができません。

irb(main):069:0> module Mod
irb(main):070:1>  def self.hello
irb(main):071:2>   puts "hello!"
irb(main):072:2>  end
irb(main):073:1> end
=> :hello
irb(main):074:0> 
irb(main):075:0> 
irb(main):076:0> Mod::hello
hello!
=> nil
藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

ホーム