2014年5月3日土曜日

Ruby で uninitialized constant MethodName (NameError)

def Test1
  puts "Hello, World."
end

Test1


これだけで実行すると、uninitialized constant エラーが発生する。
in `<main>': uninitialized constant Test1 (NameError)

これはRubyのコーディング規約である、
・メソッド名はすべて小文字
・クラス名は一文字目を大文字
に違反しているため、Test1 はクラスと誤認されていることでエラーとなっている。
これは慣れないうちにエラーメッセージから推測するのはちょっと辛いと思われる。