私はサードパーティのオープンソースライブラリを使用しています。ライブラリで第三者のライブラリメソッドにアクセス
は、一つのファイル(AAA-BBB/Ccc.rb)さんがあり、コードは次のようになります。私のRubyプロジェクトで
module Aaa
module Bbb
module Ccc
def get_data
...
end
end
end
end
、私はからget_data
メソッドを呼び出す必要があります上記のモジュール。だから私はこれを試してみました:
require 'Aaa-Bbb/Ccc'
module MyMod
def my_func
# Error: undefined method 'get_data' for MyMod:Module (NoMethodError)
data = get_data
end
end
私は上記のコードを実行すると、私はエラーを取得:
undefined method 'get_data' for MyMod:Module (NoMethodError)
なぜ?この問題を解決するには?
require 'Aaa-Bbb/Ccc'
module MyMod
# Including the required module to make all its methods available here.
include Aaa::Bbb::Ccc
def my_func
data = get_data
end
end
私は 'module Aaa module Bbb'という行に問題があると思いますが、実際の行はどのように見えますか? –
名前を除いて全く同じ行です。 –
OKは3段階のネスティングのようですが、私は自分の答えを更新しました。 –