能够在另一个变量名中使用变量?红宝石

弧_X

因此,我的目标是能够运行“ while”循环,并在每次迭代中创建一个新变量,该新变量在该变量名称中包含“迭代次数”,并将其存储以供以后在循环外部使用。请参阅下面的更多细节。

注意:代码在很多方面显然是错误的,但是我以这种方式编写它是为了使其更清楚?关于我要完成的工作。感谢您提供有关如何实现此目标的任何意见。

count = "4"
while count > "0"
  player"#{count}"_roll = rand(20)
  puts 'Player "#{count}" rolled: "#{player"#{count}"_roll}"'
  count -= 1
end

然后,我的目标是能够像这样(或多或少)访问在程序的后面部分从循环内部创建的变量。

puts player4_roll
puts player3_roll
puts player2_roll
puts player1_roll

关键是这些变量是A)在循环中创建的B)名称依赖于另一个变量输入的输入,以及C)可在循环外部访问以供以后使用。

希望我的问题清楚地提出,任何意见将不胜感激。我对编程非常陌生,并试图将自己的想法缠在一些更复杂的想法上。我不确定在Ruby中是否还可以做到这一点。谢谢!

丹尼尔

我认为最好的方法是使用数组或哈希,而数组则如下所示:

count = 0
array = []
while count < 4 do
  array[count] = rand(20)
  puts "Player #{count} rolled: #{array[count]}"
  count += 1
end

array.each do |var|
    puts var
end

您将结果存储在数组中,然后循环通过它。如果想要循环的第二次迭代的结果,请执行以下操作:

puts array[1]

如果要使用哈希,则需要做一些修改:

count = 0
hash = {}
while count < 4 do
  hash["player#{count}_roll"] = rand(20)
  puts "Player #{count} rolled: #{hash["player#{count}_roll"]}"
  count += 1
end

hash.each do |key, var|
    puts var
end

如果想要循环的第二次迭代的结果,请执行以下操作:

puts hash["player1_roll"]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用变量名来更改另一个变量名的名称

在另一个脚本中使用变量名访问数组?

使用另一个变量的内容创建变量名

bash:创建一个包含另一个变量的变量名

使用变量作为另一个变量名的一部分

Django使用模板变量的值作为另一个变量名的一部分

在另一个红宝石脚本中使用输出

在bash脚本中基于另一个变量名创建对变量的引用?

jQuery动态将变量添加到另一个变量名

将for循环的变量插入另一个变量名

使用另一个变量递增变量名称

在另一个View Controller中使用变量

Python 在另一个函数中使用变量

在另一个Perl文件中使用变量

在另一个函数中使用变量

用另一个变量的值替换变量名的一部分?

grafana:在另一个变量的定义中使用一个变量

在另一个变量中使用一个变量

如何在局部范围之外获取变量,并能够在另一个视图或Swift,Xcode中的其他函数中使用该变量?

使用字符串内容为其他变量名称的另一个变量调用变量

如何在Javascript中将变量值放在另一个变量名中

如何将变量值批量放入另一个变量名中?

在PHP中使用echo和concatenation建立一个已知的变量名

要构建一个for循环,如何在count()命令中使用变量名?

使用Python在另一个函数中使用一个函数中的变量

在另一个模块中使用一个Shiny模块的变量值

在Terraform的另一个模块中使用一个模块局部变量

在go lang中使用一个函数的变量在另一个函数中

需要在另一个JSP中使用一个变量的值