赋值运算符不能用于if语句?

时间:2014-03-28 14:08:30

标签: if-statement comparison-operators game-maker

似乎在Game Maker 8,8.1和Studio(至少)中,赋值运算符=与比较运算符==相同。例如,这些行做同样的事情:

if (a=b) {}
if (a==b) {}

此功能是否对新用户友好?我应该继续使用==还是切换到=?或者没有区别?

P.S。类似于=

,递增等内容仍可与==一起使用
if a=b++{} //b is still incremented, but a does not change

1 个答案:

答案 0 :(得分:2)

如GameMaker帮助文件中所述,此功能已从以前的版本中遗留下来。

  

"但是,这是旧版GameMaker版本的遗留物,您应该使用==运算符进行比较,使用=来进行分配。"

在进行比较时,使用==作为设计目标是一种很好的做法。此外,如果您要使用其他语言(如PHP),使用=运算符实际上会在if语句中初始化该变量。如果您习惯使用单=运算符,这可能会让您非常头疼。