加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby / rspec无法识别与前一个模块同名的Ruby类

发布时间:2020-12-17 03:31:25 所属栏目:百科 来源:网络整理
导读:我有一个 ruby类,Feedbin,以前是模块的名称.当我尝试调用类中的任何方法时,抛出TypeError:`’:Feedbin不是类(TypeError) 当我更改类的名称,但附加一个例如s时,事情似乎按预期工作. 同样的程序也有一个名为Feedbin的模块,但模块不再存在. 旧: module Feedb
我有一个 ruby类,Feedbin,以前是模块的名称.当我尝试调用类中的任何方法时,抛出TypeError:`’:Feedbin不是类(TypeError)

当我更改类的名称,但附加一个例如s时,事情似乎按预期工作.

同样的程序也有一个名为Feedbin的模块,但模块不再存在.

旧:

module Feedbin
  class Api
  end
end

新:

class Feedbin
end

如何摆脱“Feedbin不是类”类型错误?是什么造成的?

解决方法

非类模块不能更改为类.一旦定义了(非类)模块,就无法将其更改为类.你可能有:

class Feedbin
...

在你拥有之前的某个地方

module Feedbin
...

将该类更改为模块,或使用其他名称而不是Feedbin.

或者,某些方法是否出现错误消息?某些方法只能在类上定义.例如,如果您调用Feedbin.new,或者在Feedbin上调用initialize,并将Feedbin更改为非类模块,则会导致错误.在这种情况下,请为非类模块使用不同的名称.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读