Ruby中的超类失配

Ruby中的超类失配,ruby,inheritance,refactoring,Ruby,Inheritance,Refactoring,我有一门课: class Example attr_reader :name ... end 后来我决定将name字段抽象为一个父类,以便可以重用。当我用load'filename.rb'加载此代码时 class Named attr_reader :name ... end class Example < Name ... end 然后重新加载,但这既麻烦又烦人。有没有一种更简单的方法可以在不遇到此问题的情况下强制重新加载?没有。一旦定义了类,就不能更改它的父类。

我有一门课:

class Example
  attr_reader :name
  ...
end
后来我决定将
name
字段抽象为一个父类,以便可以重用。当我用
load'filename.rb'
加载此代码时

class Named
  attr_reader :name
  ...
end
class Example < Name
  ...
end

然后重新加载,但这既麻烦又烦人。有没有一种更简单的方法可以在不遇到此问题的情况下强制重新加载?

没有。一旦定义了类,就不能更改它的父类。

不清楚“将名称字段抽象为父类”是什么意思。我想知道您的开发过程是什么样子的,当你试图避免重新加载修改过的代码时……试着用mixin代替headi,我并不是在试图避免重新加载。我正在尝试删除
对象。send(:remove\u const,…)
步骤。@SilvioMayolo如何重新加载代码?您是否有一个在运行时修改的长时间运行的流程?也许我不太清楚。我不想改变父母。我想用某种方式告诉Ruby,我不是在试图修改现有的类,而是完全从头开始重建它,这样我就不会遇到这个问题。
Object.send(:remove_const, :Example)