1
x:=1
;All of these (silently) fail
IfGreater,x, false, EnvAdd, x, 1
IfEqual,false,%x%, EnvAdd, x, 1
IfEqual,true,x, EnvAdd, x, 1
IfEqual,1,1, EnvAdd, x, 1
If x, EnvAdd, x, 1
If (x), EnvAdd, x, 1
tf:=true
if true, EnvAdd, x, 1
if tf, EnvAdd, x, 1
;If %x%, EnvAdd, x, 1
If 1, EnvAdd, x, 1
If 0, EnvAdd, x, 1
;
;though these succeed
x:=1
IfEqual,true,%x%, EnvAdd, x, 1 ; x is now 2
x:=1
IfEqual,x,%x%, EnvAdd, x, 1 ; x is now 2

AutoHotKey ヘルプの「If/IfEqual/...」ページのステートメントを飾り気のない「if」ステートメントで有効にする方法はありますか?

「コマンド名スタイルを使用する場合、別のコマンドは IF ステートメントと同じ行にのみ表示できます。」

4

4 に答える 4

2

さらに良い人は次のように書くことができます:

test ? x:=y+1
or
test ? statement

そして、(疑似) IF ステートメントは理解度に近づきます!

于 2013-08-08T19:09:16.877 に答える
1

ああ、簡単に言えば

x+=x?1:0

AutoHotKey の構文はビザンチンだと思っていました。今、私はそれが奇妙だと思います。たとえば、このドキュメントの露骨な矛盾があります。しかし、それは Microsoft を追跡しようとしたことによるものだと思います。

于 2013-08-08T17:21:11.247 に答える