| |||
計算結果が思い通りにならない、if命令の判定がおかしい
| |||
|
・「真」のはずが「偽」と判定される それまではカッコを除き、演算子を問わずに左から評価される仕様でした。 この問題はif命令も同様で、複数の判定を行おうとする場合にも影響していました。 HSP2でもHSP3でも処理できるスクリプトですが、式の評価は異なっています。 HSP2の場合「A = 1」かの判定後「1 and B(即ちBが奇数か)」を判定しています。 | |||
A = 1 : B = 2 if A = 1 and B = 2 { mes "式は正しいと判定されました。" } else { mes "式は正しくないと判定されました。" } stop | |||
| 正しい結果にするためには、HSP2では下記のようにカッコを使用する必要があります。 | |||
A = 1 : B = 2 if (A = 1) and (B = 2) { mes "式は正しいと判定されました。" } else { mes "式は正しくないと判定されました。" } stop | |||
|
・評価を行う部分が式になっていない |