Ruby-模块:: NoMethodError
|
我有一个像这样的模块:
module Prober
def probe_invoke(type, data = {})
p = Probe.new({:probe_type => type.to_s,
:data => data.to_json, :probe_status => 0, :retries => 0})
p.save
end
end
我正在尝试从我的主程序中访问此文件,如下所示:
require \'prober\'
Prober.probe_invoke(\"send_sms\", sms_text)
但是会产生错误:
未定义的方法“ probe_invoke \”
Prober:模块(NoMethodError)
没有找到相关结果
已邀请:
4 个回复
眠缝
的选项的答案之外,您还可以选择包含模块并在没有模块引用的情况下调用它,如下所示:
您可以这样称呼它:
坝硷操
也将起作用,因为在该行运行时,
是模块定义。
期差骇蓟
“ 9”块还将其中的每个方法都定义为模块的实例方法。 (它的功能就像用
或
定义每个方法一样) 更新(2014-11-22) 根据《 Ruby Style Guide》,您应该改用
:
我将其称为实用程序模块。 顺便说一句:过去,通常使用
而不是将方法包装在
块中。 我还将上面的代码调整为其他样式指南建议。
珊畴炮贩号
因为否则您将方法定义为模块的实例方法,但实际上您想静态定义它。