AutoHotkey スクリプトは基本的に、AutoHotkey 専用のカスタム言語で書かれた、プログラムが従う一連の命令です。 この言語は、他のいくつかのスクリプト言語といくつかの類似点がありますが、独自の長所と落とし穴もあります。 このドキュメントでは、言語について説明し、よくある落とし穴を指摘しようとします。
AutoHotkey で利用されるさまざまな概念のより一般的な説明については、概念と規則を参照してください。
目次
- 一般規約
- コメント
- 式
- 文字列/テキスト
- 変数
- 定数
- オペレーター
- 関数呼び出し
- 関数呼び出しステートメント
- オプションのパラメータ
- オブジェクトの演算子
- 式ステートメント
- 制御フロー ステートメント
- 制御フローとその他のステートメント
- ループ文
- フローを制御しない
- スクリプトの構造
- グローバルコード
- 機能
- #含む
- その他
- 動的変数
- 疑似配列
- ラベル
一般規約
名前: 変数名と関数名では大文字と小文字が区別されません (たとえば、CurrentDate は currentdate と同じです)。 最大長や使用可能な文字などの詳細については、名前を参照してください。
型付き変数なし: 変数には明示的に定義された型がありません。 代わりに、任意の型の値を任意の変数に格納できます (定数と組み込み変数を除く)。 状況に応じて、数値は文字列 (テキスト) に、またはその逆に自動的に変換される場合があります。
宣言はオプションです: 関数のページに記載されている場合を除き、変数を宣言する必要はありません。 ただし、値が与えられる前に変数を読み取ろうとすると、エラーと見なされます。
スペースはほとんど無視されます: インデント (先頭のスペース) は、読み取り可能なコードを記述するために重要ですが、プログラムでは必要ないため、通常は無視されます。 スペースとタブは通常、行末と式内 (引用符の間を除く) では無視されます。 ただし、次のような場合にはスペースが重要になります。
関数とメソッドの呼び出しでは、関数/メソッド名と (. 連結する場合はスペースが必要です。 あいまいさをなくすために、2 つの演算子の間にスペースが必要になる場合があります。 単一行のコメントは、行の先頭にない場合、先頭にスペースが必要です。 改行は意味があります: 通常、改行はステートメントの区切りとして機能し、前の関数呼び出しまたは他のステートメントを終了します。 (ステートメントは、実行される何らかのアクションを表現する言語の最小のスタンドアロン要素です。) これの例外は、行の継続です (以下を参照)。
行の継続: 読みやすさと保守性を向上させるために、長い行を小さな行のコレクションに分割できます。 これは前処理によって実現されるため、言語自体の一部ではありません。 次の 3 つの方法があります。
継続プレフィックス: 式演算子 (++ と -- を除く) で始まる行は、前の行とマージされます。 行に実際に式が含まれているかどうかに関係なく、行はマージされます。 囲みによる継続: ()、[]、または {} で囲まれた部分式は、ほとんどの場合、自動的に複数の行にまたがることができます。 継続セクション: 複数の行は、( で始まり ) で終わるセクションの上の行とマージされます (空白を除いて、両方の記号が行の先頭に表示される必要があります)。 コメント コメントは、プログラムによって無視されるスクリプト内のテキストの一部です。 これらは通常、説明を追加したり、コードの一部を無効にするために使用されます。
スクリプトは、行頭にセミコロンを使用してコメントを付けることができます。 例えば:
; この行全体がコメントです。 行末にコメントを追加することもできます。その場合、セミコロンの左側に少なくとも 1 つのスペースまたはタブが必要です。 例えば:
「メモ帳」を実行します。 これは、関数呼び出しと同じ行のコメントです。 さらに、次の例のように、/ および / 記号を使用して、セクション全体をコメント化できます。
/ MsgBox "この行はコメントアウト (無効) されています。" MsgBox "よくある間違い:" / "コメントはこれで終わりではありません。" MsgBox "この行はコメントアウトされています。" / MsgBox "この行はコメントアウトされていません。" / これも有効ですが、他のコードは回線を共有できません。 / MsgBox "この行はコメントアウトされていません。" タブとスペースを除いて、/ は行の先頭に表示する必要がありますが、/ は行の先頭または末尾にのみ表示できます。 / を省略しても有効です。省略した場合、ファイルの残りの部分はコメント アウトされます。
スクリプトがファイルから読み取られるときにコメントが除外されるため、パフォーマンスやメモリ使用率に影響を与えることはありません。
式 式は、1 つ以上の値、変数、演算子、および関数呼び出しの組み合わせです。 たとえば、10、1+1、および MyVar は有効な式です。 通常、式は 1 つ以上の値を入力として受け取り、1 つ以上の演算を実行して、結果として値を生成します。 式の値を見つけるプロセスは、評価と呼ばれます。 たとえば、式 1+1 は数値 2 に評価されます。
単純な式を組み合わせて、ますます複雑な式を形成できます。 たとえば、割引/100