Q ZR $ZTLP I Q=-1 S Q,A=F G T
I Q< S A=F G R
如何识别 MUMPS 中的标签、关键字和变量?
上面代码中的 Q 是什么?即标签、变量或关键字?
定义变量关键字和子程序的规则是什么?
否则很难确定您能否提出原因,因为我无法理解我现有的代码是什么?
Q ZR $ZTLP I Q=-1 S Q,A=F G T
I Q< S A=F G R
如何识别 MUMPS 中的标签、关键字和变量?
上面代码中的 Q 是什么?即标签、变量或关键字?
定义变量关键字和子程序的规则是什么?
否则很难确定您能否提出原因,因为我无法理解我现有的代码是什么?
Q
means QUIT
in first instance but then I Q=-1
is IF Q EQUALS -1
- Q
is a variable here too - not very good practice
S Q,A=F again SET Q and A = F
I Q< S A=F G R if Q is less than null (???) SET A=F then GOTO line R.
秘诀是:空格。
一般 MUMPS 程序行语法为: ...
Lebel 和参数是可选的:当一行没有标签时,它以制表符开头,当一个命令没有参数时(在极少数情况下会发生,例如:Quit),该命令后跟两个空格。
当一行以命令开头(没有标签和制表符)时,它不是程序的一部分,但它是一个立即执行的命令。
您可能会觉得这很混乱,但请记住,MUMPS 是在机器运行缓慢时设计的;如果命令被严格分隔,则很容易解析命令。这就是命令可以缩写为单字母的原因,也是 MUMPS 没有操作优先级的原因(较新的 MUMPS 系统可配置为使用操作员优先级而不是传统的从左到右的处理顺序)。