Col*_*ley 6 ruby rspec module class
我有一个ruby类,Feedbin,以前是模块的名称.当我尝试调用类中的任何方法时,抛出TypeError:`':Feedbin不是类(TypeError)
当我更改类的名称,但附加一个例如s时,事情似乎按预期工作.
同样的程序也有一个名为Feedbin的模块,但模块不再存在.
旧:
module Feedbin
class Api
end
end
Run Code Online (Sandbox Code Playgroud)
新:
class Feedbin
end
Run Code Online (Sandbox Code Playgroud)
如何摆脱"Feedbin不是类"类型错误?是什么造成的?
saw*_*awa 11
非类模块不能更改为类.一旦定义了(非类)模块,就无法将其更改为类.你可能有:
class Feedbin
...
Run Code Online (Sandbox Code Playgroud)
在你拥有之前的某个地方
module Feedbin
...
Run Code Online (Sandbox Code Playgroud)
将其更改class为module或使用其他名称而不是Feedbin其中一个名称.
或者,某些方法是否出现错误消息?某些方法只能在类上定义.例如,如果你打电话Feedbin.new,或者一些要求initialize上Feedbin,并改变Feedbin成非类模块,那么这将导致错误.在这种情况下,请为非类模块使用不同的名称.
| 归档时间: |
|
| 查看次数: |
4280 次 |
| 最近记录: |