使用 'to_sym' 方法有什么意义?

What is the point of using the 'to_sym' method?

我正在尝试构建剪刀石头布游戏,在查看其他人的代码时,我注意到有些人正在使用 'to_sym'。他们有一个散列,一个字符串作为键,一个数组有两个字符串元素作为键。我试图弄清楚他们为什么要那样做,但我迷路了。

示例:

WIN_CONDITIONS = { rock: ["lizard", "scissors"],
                   paper: ["rock", "spock"],
                   scissors: ["paper", "lizard"],
                   lizard: ["paper", "spock"],
                   spock: ["scissors", "rock"]
                  }

def win?(first, second)
  WIN_CONDITIONS[first.to_sym].include?(second)
end

with a string for a key

这就是你错的地方。那些是符号。因此,如果您希望正确查找值,则需要.to_sym