</head> <body> <h1>#Requires</h1> <p>バージョン要件を満たさないときにエラーを表示して終了します。</p> <pre class="Syntax"><span class="func">#Requires</span> Requirement</pre> <h2 id="Parameters">パラメータ</h2> <dl> <dt>Requirement</dt> <dd> <p>"AutoHotkey"という単語で始まらないときは、エラーメッセージが表示されてプログラムは終了します。これにより、明確化が促進されるとともに、将来の使用のためにディレクティブが予約されます。AutoHotkeyの他のフォークでは、他の名前をサポートしている場合があります。</p> <p>そうでないときは、"AutoHotkey"という単語の後にスペースまたはタブで区切られた以下の任意の組み合わせが続く必要があります:</p> <ul> <li>オプションの文字 "v"の後にバージョン番号が続く。<a href="../Variables.htm#AhkVersion">A_AhkVersion</a>は、このバージョン以上、次のメジャーバージョン未満であることが必要です。</li> <li><code>&lt;</code>,<code>&lt;=</code>,<code>&gt;</code>,<code>&gt;=</code>,<code>=</code>のいずれかに、オプションの文字 "v" とバージョン番号がすぐに続きます。例えば、<code class="no-highlight">&gt;=2-rc &lt;2</code>はv2のリリース候補を許可するが、最終リリースは許可しない。</li> <li>スクリプトを実行できる実行ファイル(EXE)の種類を制限するために、次のいずれかの単語を使用します:「32-bit」、「64-bit」。</li> </ul> </dd> </dl> <h2 id="Error_Message">エラーメッセージ</h2> <p>表示されるメッセージは、ディレクティブを解釈しているAutoHotkeyのバージョンに依存します。</p> <p>v2の場合、エラーメッセージにAutoHotkeyのパス、バージョン、ビルドが必ず表示されます。</p> <p>このディレクティブをサポートしていないバージョンのAutoHotkeyでスクリプトを起動した場合、以下のようなエラーメッセージが表示されます:</p> <pre class="no-highlight">Line Text: #Requires <i>%Requirement%</i> Error: This line does not contain a recognized action.</pre> <h2 id="Remarks">備考</h2> <p>スクリプトが以前のバージョンでは利用できない構文や関数を使用している場合、このディレクティブを使用すると、エラーメッセージが任意の構文エラーを示すのではなく、満たされていない要件を示すことを保証します。これは、<code>if (A_AhkVersion &lt;= "1.1.33")</code>のように、スクリプト内の他の場所で構文エラーが発生すると実行できなくなるため、実行できません。</p> <p>スクリプトを共有したり、コードをオンラインに投稿する場合、このディレクティブを使用すると、コードを見つけた人が、どのバージョンのAutoHotkeyを対象としているかを容易に特定することができます。</p> <p>他のプログラムやスクリプトは、さまざまな目的でこのディレクティブを確認することができます。例えば、AutoHotkey v2と共にインストールされたランチャーは、どのAutoHotkey実行ファイルを起動するかを決定するために使用し、スクリプトエディターや関連ツールは、スクリプトファイルの解釈やハイライトの方法を決定するために使用するかもしれません。</p> <p id="compare">バージョン文字列は、ドットで区切られた一連のコンポーネントとして比較され、オプションでハイフンとプレリリース識別子が続く。</p> <ul> <li>数値要素は数値で比較します。例えば、v1.01=v1.1ですが、a20>a112です。</li> <li>数値成分は、同じ位置にある非数値成分よりも常に下位とみなされます。</li> <li>ドット区切りの成分が欠落している場合は、ゼロとします。例えば、v1.1.33-alpha は v1.1.33.00-alpha.0 と同じです。</li> <li>数値以外の要素はアルファベット順に比較され、大文字と小文字が区別されます。</li> <li>発売前のバージョンは、標準的なリリースより低いとみなされます。例えば、<code>#Requires AutoHotkey v2</code>のスクリプトは、v2.0-a112では実行されません。プレリリース版を許可する場合は、ハイフン(-)を付けてください。事例:<code class="no-highlight">v2.0-</code>。</li> <li>"+" で始まる接尾語は無視されます。</li> </ul> <p>末尾の "+"は、後のバージョンでもよいことを読者に示すのに十分ですが、必須ではありません。</p> <p>他のディレクティブと同様に、#Requiresは条件付きで実行することはできません。</p> <h2 id="Related">関連</h2> <p><a href="VerCompare.htm">VerCompare</a>、<a href="_ErrorStdOut.htm">#ErrorStdOut</a></p> <h2 id="Examples">例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> アルファ版を含むv2.0上でのみスクリプトを実行するようにするためのものです。</p> <pre>#Requires AutoHotkey v2.0-a MsgBox "This script will run only on v2.0, including alpha releases."</pre> </div> <div class="ex" id="ExUpper"> <p><a class="ex_number" href="#ExUpper"></a> プレリリースバージョンを含むv2.0上でのみスクリプトを実行するようにします。</p> <pre>#Requires AutoHotkey &gt;=2.0- &lt;2.1</pre> </div> <div class="ex" id="ExBuild"> <p><a class="ex_number" href="#ExBuild"></a> 64ビットインタプリタ(EXE)のみでスクリプトを実行するようにします。</p> <pre>#Requires AutoHotkey 64-bit</pre> </div> <div class="ex" id="ExVerBuild"> <p><a class="ex_number" href="#ExVerBuild"></a> 64ビットインタプリタ(EXE)バージョン2.0-rc.2以降でのみスクリプトを実行するようにすることです。</p> <pre>#Requires AutoHotkey v2.0-rc.2 64-bit</pre> </div> </body> </html>