Предупреждение: предыдущее определение переменной было здесь - Ruby - PullRequest
1 голос
/ 11 марта 2020

Каждый раз, когда я загружаю свою программу, даже в первый раз, она говорит:

file.rb:9: warning: already initialized constant W_mum
file.rb:6: warning: previous definition of W_mum was here.

небольшая помощь здесь?

W_mum = gets.to_i

elsif (W_mum = 1)

1 Ответ

1 голос
/ 11 марта 2020

Ruby использует две разные «корзины» для данных: переменные и константы. В исходном коде вы можете идентифицировать их по первой букве: у констант всегда есть заглавная буква в начале их имени, а у переменных строчная буква.

В вашем случае, таким образом, у вас есть константа с именем W_mum. Теперь, когда вы сначала устанавливаете значение в константу, а затем позже задаете другое значение, Ruby будет отображать предупреждение (как таковое: вы можете устанавливать новые значения для констант, но вы не должны ).

Теперь, почему Ruby предупреждает здесь: в вашем elsif вы фактически присваиваете константу значение 1. Это может быть ошибкой, хотя. Вместо присваивания с = вы, вероятно, намеревались использовать сравнение здесь, используя оператор ==.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...