Что не так с моим оператором if 'if x + y = z' - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь оценить, соответствует ли выбранный элемент требованиям.Я пытаюсь оценить результат nominal + x против required.

Я использую следующий код:

if @weight.nominal + x = required
              weights << @weight.id
end

Однако он добавляет nominal + x вместе.Почему это так, и как мне делать то, что я хочу?

1 Ответ

0 голосов
/ 25 сентября 2018

Как сказал @Pavan в комментарии, ваше условие может быть неверным.Это должно быть == вместо =.= - это назначение.

if @weight.nominal + x == required ... end

Вот что происходит "за сценой" с вашим исходным кодом:

  1. required назначается x.
  2. Добавьте x к @weight.nominal (@weight.nominal + x)
  3. Оцените результат шага 2, который всегда верен.
  4. Выполните код в блоке if, которыйweights << @weight.id

В конечном итоге ваше значение x будет потеряно, вместо него будет взято значение required, а ваше условие бесполезно, поскольку оно всегда истинно.

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