命令后的逗号有什么作用?

Mar*_*ery 6 autohotkey

AutoHotkey的初级指南用一个例子开始了使用Send命令,该命令和其参数由逗号分隔:

^j::
   Send, My First Script
Return
Run Code Online (Sandbox Code Playgroud)

...

SEND 是命令,将键入逗号 (,) 之后的任何内容。

后来,它给出了一个MsgBox没有逗号的命令示例:

esc::
    MsgBox Escape!!!!
Return
Run Code Online (Sandbox Code Playgroud)

实验上,似乎包含或省略逗号对命令的行为没有影响,至少在这些简单的情况下是这样。我们可以更改上面两个示例中是否包含逗号,并且命令仍然有效:MsgBox, Escape!!!有效,Send My First Script.

是否存在语法需要逗号(或禁止它)的情况?包含逗号是否会以任何方式改变命令的语义?为什么这两种语法都允许?

Nep*_*pho 6

,AutoHotkey 中的逗号 ( ) 是一个分隔符。在大多数情况下,第一个(在命令和第一个参数之间)是完全可选的

提示:任何命令的第一个逗号都可以省略(除非第一个参数为空或以 := 或 = 开头,或者该命令单独位于延续部分的顶部)。例如:

MsgBox This is ok.
MsgBox, This is ok too (it has an explicit comma).
Run Code Online (Sandbox Code Playgroud)