emuera (1-8-2-4) | 2019-01-27 00:29 |
emuera - etc 関連ファイル (1-8-2-1) | 2015-11-04 01:04 |
emuera - source ソースコード (1-8-2-4) | 2019-01-27 00:32 |
IF <条件式> <代入先変数> = <真の場合の代入値> ELSE <代入先変数> = <偽の場合の代入値> ENDIFと同じになります。
分類 | 優先度 | 代入複合演算 | 記号 |
否定演算子 | 高 | × | ~, ! |
算術演算子 | ↑ | ○ | *, /, % |
○ | +, - | ||
ビットシフト演算子 | ○ | <<, >> | |
比較演算子 | × | <, >, <=, >= | |
× | ==, != | ||
論理演算子 | ○ | &, |, ^ | |
↓ | × | &&, !&, |?|, !|, ^^ | |
三項演算子 | 低 | × | ~?…#_ |
STR:0 = % "あ" * 10 % PRINTFORML STR:0 = "%STR:0%" WAIT ;結果 STR:0 = "ああああああああああ"
短絡評価とはたとえば(X && Y)という式でXが0である時、Yの値によらず演算結果が0になることが明らかなのでYを評価しない、という評価法です。
吉里吉里を含む多くの言語では論理演算子を短絡評価します。
この評価法により以下のような書き方ができます。
IF (ASSI >= 0) && (NO:ASSI == 1) ~~~ ELSE ~~~ ENDIFASSIが0以下の場合、(NO:ASSI == 1)の結果によらず全体の結果は0なのでNO:ASSIは参照されません。 したがってエラーも発生しません。
IF (NO:ASSI == 1) && (ASSI >= 0)このように書くと先に(NO:ASSI == 1)を計算しようとするのでASSI < 0のときエラーになります。
[PageInfo]
LastUpdate: 2015-07-06 20:25:53, ModifiedBy: minorshift
[Permissions]
view:all, edit:login users, delete/config:members