2014-03-28 87 views
0

看來,遊戲製造商8,8.1,和工作室(至少)該賦值運算符=是相同的比較運算符==。例如,這些行可以做同樣的事情:賦值運算符不能用於if語句嗎?

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

此功能是否對新用戶友好?我應該繼續使用==還是切換到=?或者它沒有區別?

P.S.像遞增仍然事情=類似==工作:

if a=b++{} //b is still incremented, but a does not change 

回答

2

此功能是從以前版本遺留下來作爲GameMaker幫助文件說明。

「但是,這是舊版GameMaker版本的遺留問題,您應該使用==運算符進行比較,並使用=進行賦值。」

比較時,您最好使用==,因爲這是它的設計目的。另外,如果您要轉移到其他語言(如PHP),使用=運算符實際上會初始化if語句中的變量。如果您習慣使用單個操作員,這可能會讓您非常頭疼。

+1

然而,其他語言,如帕斯卡爾/德爾福治療「=」作爲比較號和「:=」爲賦值操作。 - 因此這反映在gamemaker中(可以使用:=以及=作爲賦值)。 – paul23