使用 '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
。
我正在尝试构建剪刀石头布游戏,在查看其他人的代码时,我注意到有些人正在使用 '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
。