我正在尝试编写我的第一个Ruby gem,到目前为止,我认为一切都很好——然而,我的测试未能运行,出现了以下错误:
NoMethodError: undefined method 'new' for myGemName:Module
我在主类中定义了一个初始化函数:
def initialize(my_variable = false) if (my_variable) self.set_variable = my_variable end end
从运行时,我会遇到相同的错误 irb : t = myGemName.new
irb
t = myGemName.new
感谢评论中的@PascalRaszyk答案,正确的解决方案是您不能使用 .new 针对模块。所以我需要在模块内创建一个类,然后使用 myGemName::MyClass.new() 在测试中使用 initialize 方法
.new
myGemName::MyClass.new()
initialize