如果不符合版本要求, 则显示错误并退出.
#Requires Requirement
如果不是以单词 "AutoHotkey" 开头, 则显示错误消息并退出程序. 这将保证清晰, 并为将来的使用保留指令. AutoHotkey 的其他分支可能支持其他名称.
否则, 单词 "AutoHotkey" 后面应该跟下列任意组合, 并用空格或制表符分隔:
<
, <=
, >
, >=
或 =
中的一个, 后面紧跟着可选的字母 "v" 和版本号. 例如, >=2-rc <2
允许 v2 的候选版本, 但不允许最终版本.显示的消息取决于解释该指令的 AutoHotkey 的版本.
对于 v2, AutoHotkey 的路径, 版本和构建总是显示在错误消息中.
如果脚本启动时使用的 AutoHotkey 版本不支持这个指令, 错误信息如下:
Line Text: #Requires %Requirement% Error: This line does not contain a recognized action.
如果脚本使用了在早期版本中不可用的语法或函数, 使用这条指令可以确保错误信息显示未满足的要求, 而不是显示任意的语法错误. 这不能用 if (A_AhkVersion <= "1.1.33")
这样的指令来做, 因为在脚本的其他地方出现语法错误会使脚本无法执行.
当分享一个脚本或在网上发布代码时, 使用这个指令可以让任何发现代码的人很容易地识别出它是为哪个版本的 AutoHotkey 准备的.
其他程序或脚本可以出于各种目的检查这个指令. 例如, 安装 AutoHotkey v2 自带的启动器可能会用它来决定启动哪个 AutoHotkey 可执行文件, 而脚本编辑器或相关工具可能会用它来决定如何解释或突出显示脚本文件.
版本字符串是以一系列点分隔的部分进行比较, 后面的连字符和预发布标识符是可选的.
#Requires AutoHotkey v2
的脚本将不能在 v2.0-a112 上运行. 要允许预发布版本, 请在后缀中加入一个连字符. 例如: v2.0-
.尾部的 "+" 足以向读者表明可以接受更晚的版本, 但不是必须的.
和其他指令一样, #Requires 不能有条件地执行.
#Requires AutoHotkey v2.0-a MsgBox "This script will run only on v2.0, including alpha releases."