進行中のIFステートメント4glで非常に奇妙な動作に気づきました。
3桁の整数を定義する「999」の形式で整数を定義し、100未満の値(例:12)を割り当てます。表示すると、「012」と表示されます。
しかし、実際には何も実行しないはずのIFステートメントをDISPLAYステートメント内に追加すると、変数は「12」と表示されます。
これは、違いを明確にするためのテストコードです。LABELは変数の出力に影響を与えません。
DEF VAR tmp AS INTEGER FORMAT "999".
ASSIGN tmp = 12.
DISPLAY
tmp LABEL "disp1".
DISPLAY
IF TRUE THEN tmp ELSE tmp LABEL "disp2".
フォーマットを">99"に変更しても、同じ動作を実現できます。
私の質問は、IFステートメントが変数の表示方法を変更するのはなぜですか?
よろしく//MrBucket