1
我在命令行接收一些参数。他们中的第一个告诉我必须创建什么样的uby对象来执行期望的动作。我这个参数存储在@entity
,然后我做动态创建类时初始化出错
entity_class = "EmeraldFW::#{@entity.capitalize}".split('::').inject(Object) {|o,c| o.const_get c}
entity_instance = entity.new(@arguments,@options)
entity_instance.execute_command
我歌厅一个错误,当我尝试创建这些实例中的一个,说项目创建这个类的一个实例。
我的项目类是
module EmeraldFW
class Project < EmeraldFW::Entity
def self.initialize(args,opts)
@valid_option = [ :language, :test, :database, :archetype ]
super(args,opts)
end
.
.
.
和我的实体类是
module EmeraldFW
class Entity
attr_accessor :entity_type, :valid_commands
def self.initialize(args,opts)
@args = args
@opts = clean_option(opts)
end
.
.
.
我的错误是
/home/edvaldo/software/github/emeraldfw21/lib/emeraldfw.rb:41:in `initialize': wrong number of arguments (given 2, expected 0) (ArgumentError)
,我不知道为什么会这样。正如你可能看到的,初始化接收两个参数,并根据需要给了它两个参数。
也许因为我在看这个很长一段时间,但我只是看不到原因。有人会帮助我吗?