每次完成时将“x.times do”循环的结果存储在不同的变量中?

时间:2016-12-09 00:49:08

标签: ruby loops

我的代码运行'do'循环多次由用户输入设置,然后输出该循环的结果。

我想在每个循环实例完成后将每个结果存储在自己的变量中,以便稍后使用它们。现在它们被打印在终端上,程序忘记了它们。

这是我到目前为止的代码示例:

input_num.times do
  loop_select = rand(1..4)
  loop_select = loop_select.round
  if loop_select == 1
    answer = answer.instance_eval{method.method.method}
    set_answer = answer
  elsif loop_select == 3
    answer = answer.instance_eval{method.method.method}
    set_answer = answer
  elsif loop_select == 2
    answer = answer.instance_eval{method.method.method}
    set_answer = answer
  elsif loop_select == 4
    answer = answer.instance_eval{method.method.method}
    set_answer = answer
  end
  set_answer = print_answer.html
  puts set_answer
end

对于循环的每次迭代,我希望set_answer类似set_answer_1set_answer_2等,但我不能将其设置为静态数字,因为每次输入的时间都不同。

1 个答案:

答案 0 :(得分:0)

这样的东西?

foo = 5 
output = foo.times.map do |i|
  "loop #{i}"
end
output # => ["loop 0", "loop 1", "loop 2", "loop 3", "loop 4"]

其中foo是用户的输入。