Какой смысл использовать метод to_sym? - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь построить игру «камень, бумага, ножницы», и, глядя на код других людей, я заметил, что некоторые используют 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

1 Ответ

2 голосов
/ 28 июня 2019

со строкой для ключа

Здесь ты ошибаешься. Это символы. Следовательно, вам нужен .to_sym, если вы хотите правильно найти значение.

...