2009-08-24 22 views
0

私は2つのルビファイルを持っています。Ruby未初期化定数NameError

in `<main>': uninitialized constant Poster (NameError) 
:最初は、問題が、私は最初のファイルを実行すると、私はエラーを取得し、ある

require 'www/poster' 

poster = Poster.new() 

秒( 'WWW/poster.rb')が

ある
require ... 

class Poster ... end 

です

しかし、私はちょうど

require ... 
class Poster 

end 

__END__ 
class Poster #original class here 
と元のコードを交換する場合

これは問題ありません。 Ruby 1.8.6では正常に機能し、1.9.1p129(2009-05-12 revision 23412)[i386-mswin32]にアップグレードした後に問題が発生しました。回避策はありますか?

+1

とDataMapperのが綴られたているあなたが記述挙動を示すコードの最小*実行可能な*作品を投稿してください。あなたのコードはここではうまくいっています... – sepp2k

答えて

1

あなたのコードにRuby 1.9よりもRuby 1.9の動作が異なる原因は何もありません。

  • MRIのRuby 1.8.6(2009-03-31パッチレベル:私はコピーしたときに、実際、&あなたは、彼らが正確にインクルードは、次の構成の全てで、ことになっているように動作し、2つのファイルに掲載のコードを貼り付け368)[I386-MINGW32]
  • YARVルビー1.9.1p129(2009-05-12リビジョン23412)[I386-MINGW32]
  • JRubyの1.4.0dev(ルビー1.8.7p174)(2009年8月24日6586) (Java HotSpot(TM)クライアントVM 1.6.0_14-ea)[x86-java]
  • JRuby 1.4.0dev(ruby 1.9.1p0)(2009-08-24 6586)(Java HotSpot(TM)クライアントVM 1.6。 0_14-ea)[x86-java]
  • コンパイルするとき
+1

うーん、誤った '...'はいくつかのスキップされたコードを意味しますが、努力のおかげで、私のケースでは、ルビインタープリタが何らかの理由で報告したくない:/ – Fluffy

0

0私は、このエラー

`<class:Employee>': uninitialized constant Employee::Datamapper (NameError) 

を得ました。ここでは、コード

class Employee 
    include Datamapper::Resource 
    property :id,    Serial 
.... 

エラーの理由は、私は小文字の「m」の

関連する問題