-3

Convert3Dと呼ばれるモジュールとと呼ばれるクラスを含む自分のgemをパッケージ化していますShapeSet

ShapeSetのinitializeメソッド内からConvert3Dモジュールのメソッドを呼び出そうとすると、次のエラーが発生します。Convert3Dモジュールが必要であり、このメソッドは、ShapeSet.newが呼び出されているirbコンテキストから機能します。

NameError: uninitialized constant ShapeSet::Convert3d

「ShapeSet::Convert3d」への参照がこれまでにないことを考えると、ここでルビーは何をしているのでしょうか。

OSX10.8.2でMatzRuby1.9.3を使用しています

4

2 に答える 2

2

タイプミスがあります。dを大文字にするのを忘れました。

ShapesetクラスのメソッドでConvert3dを記述することにより、Shapeset ::Convert3dまたは::Convert3dが存在するかどうかをルビーに尋ねていますが、どちらも検出されていません。

于 2013-02-17T17:44:46.527 に答える
2

Convert3Dのコンテキスト内を参照しているためShapeSet、rubyは。を検索しようとしますShapeSet::Convert3D。なぜこれが時々起こるのか、時々起こらないのかわからない。

ただし、解決策は単純です。Convert3Dグローバル名前空間で参照していることを確認するために、いつでもを書くことができます::Convert3D

HTH。

于 2013-02-17T17:46:53.003 に答える