我有
board_a1 = " [ ] "
board_a2 = " [ ] "
board_a3 = " [ ] "
等。我提示用户,并获得输入:
puts "Choose your square"
user_input = gets.chomp.downcase
如果用户输入"a2"
,我需要重新分配board_a2
:
board_a2 = " [X] "
如何匹配用户输入以重新分配正确的电路板方块?我以为我可以像这样连接各个部分:
board_assignment = "board_#{user_input}"
然后使用
board_assignment = " [X] "
但是board_assignment != board_a2
。这是一个新变量。我需要在用户输入后立即根据用户输入重新分配正确的变量。是否有一些特殊的语法来连接可以表示现有变量的字符串?你怎么称呼这种情况,我将如何设置动态变量?
答案 0 :(得分:2)
您应该使用包含哈希的单个变量,将空间名称映射到其当前状态:
board = {
"a1" => " [ ] ",
"a2" => " [ ] ",
"a3" => " [ ] "
}
其余的变得非常明显。当用户输入"a2"
时,请修改board["a2"]
处的值。