将变量保存到文件

Save variables to a file

我正在 RHEL6 上做一个 Ruby 项目,其中包括一个测验。答案是 bool 变量,如果你的答案正确与否,它会改变。

A​​tm 我正在尝试为布尔值添加保存选项,但我遇到了问题。如何从方法访问代码中编写的变量?

代码示例:

@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.

有什么建议吗?

您可以动态打印 instance variables

  1.upto 10 do |i|
    puts "#{self.instance_variable_get("@inf_cmd_q#{i}")}"
  end

如果需要将数据保存到文件,使用File方法。 顺便说一句:为了保存数据,您可以使用 JSON 数据结构。