我包含了别人的模块,它似乎被分割成多个文件。它看起来是这样的:无法从模块访问方法?
alfred.rb:
require 'alfred/ui'
module Alfred
<code>
end
阿尔弗雷德/ ui.rb:
module Alfred
class Logger
def info(msg)
logger.info msg
end
end
end
我想从我的代码,其中有require "alfred"
访问info
方法在顶部,使用以下语法:
Alfred::Logger.info("my message")
这是不工作,一个d的结果为#<NameError: uninitialized constant Alfred::Logger>
。
其次,我会喜欢,如果有人能解释如何如何精确地“构造”一个模块,这是一个模块,这是跨越这样的几个文件分割。 alfred/ui.rb
的代码是否包含在alfred.rb
末尾的require
行的开头?它是否都以某种其他方式组合起来?也许它并不重要,但它似乎会帮助我更好地包围它。
我使用的模块的完整代码是at Github,以防万一有人感兴趣。
有人可以帮助解释为什么我不能用这种方法,以及可以做些什么来解决它?
我得到另一个错误'NoMethodError:未定义的方法'信息为Alfred :: Logger:Class'。你从哪里打这个电话? –
但是在guthub回购中,我没有看到'Alfred'模块内'Logger'类的定义。我只有'类LogUI <:: Logger' ...尝试'Alfred :: LogUI.info(“我的消息”)' –
哦,有趣的是,它看起来像自上次下载它以来,类已经更新。我会下载最新的,并且当我今晚在家时给那个镜头。 – ebarrere