【发布时间】:2011-03-14 12:53:17
【问题描述】:
Q ZR $ZTLP I Q=-1 S Q,A=F G T
I Q< S A=F G R
如何识别 MUMPS 中的标签、关键字和变量?
上面代码中的 Q 是什么?即标签、变量或关键字?
变量关键字和子程序的定义规则是什么?
否则很难确定您能否提出原因,因为我无法理解我现有的代码是什么?
【问题讨论】:
-
I Q
标签: mumps
Q ZR $ZTLP I Q=-1 S Q,A=F G T
I Q< S A=F G R
如何识别 MUMPS 中的标签、关键字和变量?
上面代码中的 Q 是什么?即标签、变量或关键字?
变量关键字和子程序的定义规则是什么?
否则很难确定您能否提出原因,因为我无法理解我现有的代码是什么?
【问题讨论】:
标签: mumps
Q 在第一个实例中表示QUIT,但随后I Q=-1 是IF Q EQUALS -1 - Q 在这里也是一个变量 - 不是很好的做法
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 程序行语法为: ...
标签和参数是可选的:当一行没有标签时,它以制表符开头,当一个命令没有参数时(在极少数情况下会发生,例如:退出),命令后跟两个空格。
当一行以命令开头(没有标签和制表符)时,它不是程序的一部分,而是立即执行的命令。
您可能会感到困惑,但请记住,MUMPS 是在机器运行缓慢时设计的;如果命令被严格分隔,则很容易解析命令。这就是命令可以缩写为单字母的原因,也是 MUMPS 没有操作优先级的原因(较新的 MUMPS 系统可配置为使用操作员优先级,而不是传统的从左到右的处理顺序)。
【讨论】: