Code Fix

上級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.method と def method を混同すると NoMethodError になる

どちらか一方しか定義していないのに、もう一方の呼び方をするとNoMethodErrorになります。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)