如何在AutoHotKey中实现类似select case esac结构的功能
我不知道如何开始这个。我查看了AHK的帮助文件,但没有结果 我需要建立一个这样的构造(这不是在UNIX shell或AHK脚本语言中,只是显示了我想要的想法) 为了使事情更加复杂,注释为如何在AutoHotKey中实现类似select case esac结构的功能,autohotkey,Autohotkey,我不知道如何开始这个。我查看了AHK的帮助文件,但没有结果 我需要建立一个这样的构造(这不是在UNIX shell或AHK脚本语言中,只是显示了我想要的想法) 为了使事情更加复杂,注释为string-1到string-n的部分也是变量,根据一天中的时间或事件的触发器从几个不同的文件中读取 有人能给我指出正确的方向吗 自动热键没有任何case语句。每个人都会使用if和else语句。(我知道这是什么感觉。我也喜欢case) 给你的一些提示: 在自动热键中,变量名中不能有$或- …但您可以使用下划线
string-1
到string-n
的部分也是变量,根据一天中的时间或事件的触发器从几个不同的文件中读取
有人能给我指出正确的方向吗 自动热键没有任何
case
语句。每个人都会使用if
和else
语句。(我知道这是什么感觉。我也喜欢case
)
给你的一些提示:
- 在自动热键中,变量名中不能有
或$
-
- …但您可以使用下划线李>
- 您不需要用
终止行代码>李>
gosub screenscrape
; here, all text on page is on clipboard
; variable "input" is a predefined portion of the clipboard
if(string1){ ;if the variable is not blank it will evaluate to `true`
gosub subroutine1
}else if(string2){
gosub subroutine2
}else{
msgbox not found
sleep 60000 ;milliseconds
}
此外,您还可以在autohotkey中使用实函数-您不必依赖gosubs。如果使用gosubs,请确保在其末尾放置一个
返回值。您还应该阅读有关“自动执行”部分的自动热键文档。+1回答不错,我只想补充一点,我刚才在自动热键中实现了一个“开关”,因为我们都需要开关语句…:(无论如何,这里是/*我也喜欢下面的方式。elseif比if*/if(false){}else if(string1){gosub sub subroutine1}else if(string2){gosub subroutine2}更好地向上/向下移动
gosub screenscrape
; here, all text on page is on clipboard
; variable "input" is a predefined portion of the clipboard
if(string1){ ;if the variable is not blank it will evaluate to `true`
gosub subroutine1
}else if(string2){
gosub subroutine2
}else{
msgbox not found
sleep 60000 ;milliseconds
}