代入演算子
実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 |
キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル |
レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト
代入演算子[編集]
変数に式の計算結果を代入。
Var := Expression Var op= Expression
Parameters[編集]
引数名 | 説明 |
---|---|
Var | 代入先の変数名。 ArrayName%Index% のように、変数の参照を含むと、変数の内容を展開した変数名が使われる。オブジェクトのフィールドでも可。
|
op | + - * / // . | & ^ >> << のいずれかの演算子。
|
Expression | 式。式の説明参照。 |
Remarks[編集]
:=
では、Expressionを評価した結果の値が Varで指定した変数に代入される。
var := x + y + z
+=
や *=
のような形式では、Varで指定した変数と Expressionを opで指定した演算子で演算した結果が Var自身に代入される。
下記の例では、xの値は11になる。
代入式全体の値は、代入後の変数の値になる。
x := 10 MsgBox,% x += 1
代入演算子が連続している場合、一番右のものから順に計算される。
下記の例では、まずcに1が足され4になり、bにcが足され6になり、aにbが足されて7になる。
a := 1, b := 2, c := 3 a += b += c += 1 MsgBox, %a%, %b%, %c%
代入式自体は、代入先の変数を表すものとしても扱われるため、それを更に代入式の左辺に使用したり、 &演算子でアドレスを参照したり、関数のByRef付き引数に使うことも出来る。
下記の例では、まずxに1が加算し、更に2を掛け、func()関数に参照引数として渡し、関数内で10を加算する。
func(ByRef arg){ arg += 10 } x := 1 func( (x += 1) *= 2 ) MsgBox, % x
+= -= *= /=
が一番左の演算子だった場合、それぞれEnvAdd, EnvSub, EnvMult, EnvDivコマンドの別表記とみなされるため、他の場合と異なった動作になる。
VarやExpressionが数値として正しくなかった場合、 0
であるとみなされる。(通常は、演算結果が空の文字列になる)
+= -=
では、日付時刻の演算が可能になる。
/=
では、VarとExpressionが共に整数値の場合、結果の小数点以下が切り捨てられて整数値になってしまう。(通常の /
演算子は、小数点以下を切り捨てない)
Related[編集]
式の説明, If (式), SetEnv, EnvSet, EnvAdd, EnvSub, EnvMult, EnvDiv, If, 配列
Example(s)[編集]
Var := 3 Var := "literal string" Var := Price * (1 - Discount/100) Finished := not Done or A_Index > 100 If not Finished { FileAppend, %NewText%`n, %TargetFile% Return } Else ExitApp