我的if语句'if x + y = z'有什么问题

时间:2018-09-24 15:57:05

标签: ruby

我正在尝试评估所选项目是否符合要求。我正在尝试针对nominal + x评估required的结果。

我正在使用以下代码:

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

但是,它将nominal + x加在一起。为什么会这样,我该怎么做?

1 个答案:

答案 0 :(得分:0)

正如@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的值,并且您的条件始终为真,因此它是无用的。