我正在研究RHEL6上的Ruby项目,其中包括一个测验。答案是bool变量,如果您的答案是否正确,则会发生变化。
Atm我试图为bool添加一个保存选项,但我遇到了问题。如何从方法中访问代码中编写的变量?
代码示例:
@inf_cmd_q1 = true
@inf_cmd_q2 = false
@inf_cmd_q3 = true
@inf_cmd_q4 = false
@inf_cmd_q5 = true
@inf_cmd_q6 = true
@inf_cmd_q7 = false
@inf_cmd_q8 = true
@inf_cmd_q9 = true
@inf_cmd_q10 = false
def save(fname)
for i 1..10
system("echo #{@inf_cmd_q#{i}} >> /quiz/#{fname}")
end
end
我知道它不会起作用,但我很难弄清楚如何使其工作,而且我从未使用过实例变量,因为我刚开始使用Ruby。
任何建议?
答案 0 :(得分:2)
您可以动态打印 1.upto 10 do |i|
puts "#{self.instance_variable_get("@inf_cmd_q#{i}")}"
end
。
File
如果需要将数据保存到文件,请使用JSON
方法。
顺便说一句:为了保存数据,您可以使用{{1}}数据结构。