以下是我的代码我试图运行该方法,但它继续推出module Template
attr_accessor :source_template, :req_id
def initialize (source_template, req_id)
@source_template = source_template
@req_id = req_id
end
def self.template(source_template, req_id)
template = String.new(@source_template)
template_split_begin = template.index("e")
template_split_end = template_split_begin + 6
template_part_one =
String.new(self.template[0..(template_split_begin-1)])
template_part_two =
String.new(self.template[template.length..template_split_end])
code = String.new(@req_id)
final_template =
String.new(template_part_one + code + template_part_two)
template_split_begin_alt = template.index("a")
template_split_end_alt = template_split_begin_alt + 9
template_alt =
String.new(self.template[0..(template_split_begin_alt-1)])
template_part_two =
String.new(self.template[template.length..template_split_begin_alt])
altcode = code[5..7] - code[0..4]
final_alt_template =
String.new(template_part_one_alt + altcode + template_part_two_alt)
end
end
sample = "Green", 8
template("Blue", 6)
有人可以帮忙吗?
{{1}}
答案 0 :(得分:0)
好的,我想我需要更深入的解释。
您无法获取模块实例,因此您的initialize
方法毫无意义。你应该只在课堂上使用它。
attr_accessor :source_template, :req_id
在您的代码中毫无意义
sample = "Green", 8
是未使用的变量
您在某个对象上调用template("Blue", 6)
,而不是在module
上定义的对象,这就是为什么我说您应该使用Template.template("Blue", 6)
如果您更改了它,则不会再出现此错误。但是从您的代码看起来您似乎缺少该语言的基本知识,所以我建议您在深入编写之前阅读一些关于Ruby的书。