Goto是执行功能的正确命令吗?

时间:2013-09-27 15:37:08

标签: autohotkey

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

Goto, MyLabel
...
MyLabel:
Sleep, 100
...

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

实际上,我要找的只是“Do MyLabel!”这样的命令。或“执行MyLabel!”或者“运行MyLabel!”同样。

实际上Goto是AutoHotkey提供的唯一方法来做这样的事情,虽然根本不需要跳任何命令行吗?

1 个答案:

答案 0 :(得分:1)

如果输入Goto,行为如下:

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

虽然Goto对于快速和脏的编程是好的,但强烈建议避免它像瘟疫一样,因为如果你有一些Gotos,我很难理解代码的行为。

如果你需要不按顺序执行行,写一个函数是一种更简洁的方法。

“做”Mylabel更像是你在另一个问题上问过的Gosub命令。

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

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

MyFunction()
{
  ; do stuff in here
  return
}