小ワザ
真偽値マスター †
条件式が苦手という方は条件式が返す真偽値が見えていないことになります。
じゃぁ見ようじゃありませんか。
条件式における真は0以外の値、偽りは0です。
比較演算子が返す結果は真ならば1、偽りならば0です。
ここでは比較演算子が返す値を"条件値"と呼ぶことにします。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
| mes 1 = 1
mes 0 = 1
mes -1 = 1
key = 3 mes key & 1 mes key & 2 mes key & 4 mes key & 8
key = 3 cx = 320 cy = 240 mes (key&1) & (cx>0) mes (key&2) & (cy>0) mes (key&1!0) & (cx>0)
mes (key&2!0) & (cy>0)
stop
|
- 論理演算子の演算結果は条件値ではありませんが、定義によって条件式では値が0以外ならば真と扱われます。
- 複数の条件式を満たすということは、複数の条件値が真でなければなりません。
論理演算子が返す値は条件値ではありません。
- mesでもlogmesでも見ちゃえばいいんだよお〜^^; -- kz3
- logmesで見るときは、パラメータは文字列だし、文字列連結式の中で数値は計算されないので・・・
のようにして書くと見れます。 -- kz3
- 今まで文字列連結の中で数値式を書くとパラメータエラーが起こっていて上のように提案したんですが
1
2
|
| logmes ""+(1=1)
a = 5 : logmes ""+(5>1)
|
などと数値式を括弧でくくってやれば先に括弧から計算されるということが分かりました。
たしかに数式は括弧から先に計算するけど・・・ちょっと見逃していましたorz -- kz3