上級 › def self.method と def method を混同すると NoMethodError になる › パターン4
def self.method と def method を混同すると NoMethodError になる
def self.methodはクラスメソッド(ClassName.methodで呼ぶ)を定義し、def methodはインスタンスメソッド(インスタンス.methodで呼ぶ)を定義します。
1 class TimeUtil 2 def _____now_label ^ 3 "now" 4 end 5 end 6 7 puts TimeUtil.now_label
main.rb:7:in `<main>': undefined method `now_label' for class TimeUtil (NoMethodError)
空欄を埋めて実行を通す
ユーティリティ的なメソッドをクラスメソッドとして提供したい場合、defにself.を付け忘れると呼び出せません。
次の問題