我正在尝试构建石头,纸张,剪刀游戏,并且在查看其他人的代码时,我注意到有些代码正在使用“ 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
答案 0 :(得分:2)
带有键的字符串
这是您错的地方。这些是符号。因此,如果您希望正确查找该值,则需要.to_sym
。