我有一个以下片段,元编程创建了一个类的子类Vehicle
:
class Vehicle; end
klazz = Class.new(Vehicle)
Object.const_set('Car', klazz)
这里没有什么花哨的。正如我所料,Vehicle.subclasses
会返回我[Car]
的数组。
接下来,我删除了类 Car 定义:
Object.send(:remove_const, :Car)
令我惊讶的是,subclasses
它们不会动态重新加载,因为:
Vehicle.subclassess.count == 1
我很想知道如何重新加载子类,或者我使用的方式remove_const
是否错误。TIA