Autohotkey 转到执行功能的命令正确吗?

Autohotkey 转到执行功能的命令正确吗?,autohotkey,Autohotkey,让我有一个类似于中的函数: 事实上,我不需要跳转到MyLabel,我只需要按照代码中的命令行直接运行MyLabel 实际上,我正在寻找的只是一个类似“DoMyLabel!”或“ExecuteMyLabel!”或“RunMyLabel!”的命令 虽然不需要跳转任何命令行,但AutoHotkey提供的执行此操作的唯一方法是Goto。如果输入Goto,行为如下: 执行的下一行将是标签和 代码继续从该位置运行 虽然Goto对于快速而肮脏的编程来说是可以的,但强烈建议避免它,就像瘟疫一样,因为如果有一些G

让我有一个类似于中的函数:

事实上,我不需要跳转到
MyLabel
,我只需要按照代码中的命令行直接运行
MyLabel

实际上,我正在寻找的只是一个类似“Do
MyLabel
!”或“Execute
MyLabel
!”或“Run
MyLabel
!”的命令


虽然不需要跳转任何命令行,但AutoHotkey提供的执行此操作的唯一方法是
Goto

如果输入Goto,行为如下:

执行的下一行将是标签和 代码继续从该位置运行

虽然Goto对于快速而肮脏的编程来说是可以的,但强烈建议避免它,就像瘟疫一样,因为如果有一些Goto,我会让你很难理解代码的行为

如果需要无序执行行,编写函数是一种更简洁的方法

“Do”Mylabel更像是您在另一个问题中询问的Gosub命令

更好的解决方案是您自己的功能

; do some stuff here
MyFunction()
; do some more stuff here
return

MyFunction()
{
  ; do stuff in here
  return
}

如果输入Goto,行为如下:

执行的下一行将是标签和 代码继续从该位置运行

虽然Goto对于快速而肮脏的编程来说是可以的,但强烈建议避免它,就像瘟疫一样,因为如果有一些Goto,我会让你很难理解代码的行为

如果需要无序执行行,编写函数是一种更简洁的方法

“Do”Mylabel更像是您在另一个问题中询问的Gosub命令

更好的解决方案是您自己的功能

; do some stuff here
MyFunction()
; do some more stuff here
return

MyFunction()
{
  ; do stuff in here
  return
}

如果括号中没有参数,
MyFunction
是否也可以工作?类似于
MyFunction(){Click 44,85}
的东西实际上会单击44,85坐标吗?如果在代码末尾有
MyFunction(){Click 44,85}
并在主程序中调用
MyFunction()
,是的,它会单击.BTW,Autohotkey附带了一个很好的帮助文件,其中还有一章介绍函数,并附有许多示例。如果括号中没有参数,它是否也可以运行?类似于
MyFunction(){Click 44,85}
的东西实际上会单击44,85坐标吗?如果在代码末尾有
MyFunction(){Click 44,85}
并在主程序中调用
MyFunction()
,是的,它会单击.BTW,Autohotkey附带了一个很好的帮助文件,其中还有一章介绍函数,并附有许多示例。它在线