如何在 Mac os X 上的 MUMPS 中创建子程序

How to create a subroutine in MUMPS on Mac os X

我正在开始一个项目,我需要阅读有关 MUMP(马萨诸塞州总医院公用事业多程序系统)的一些知识。我已经设法让它在我的 OS X El Capitan 计算机上运行。我可以做一些简单的事情,但似乎无法创建一个简单的子程序。根据我能找到的规范,一个子程序是由一个标签创建的,然后是以制表符或空白开头的行和说明,因此

HELLO
   WRITE "Hello, World!",!
   QUIT

将是一个我可以使用

调用的子例程
DO HELLO

当我尝试输入它时,它立即执行 WRITE 语句。

此外,许多示例的形式如下:

DEMO 
   Kill For i=1:1:10 SET Ary(i)=i*2
   DO Average Write !,"Average=",AVG
   KILL Ary,AVG,i
   QUIT
Average  SET Sum=0;
   ;  Do something here
   QUIT

当我开始输入 DO Average 行时,我收到一个错误,提示 Average isn't defined。

关于如何进入子程序有什么想法吗?

首先在KillFor之间,应该多于1个space,如果os只有一个space,那么For 变成了一个变量,应该被杀死。 那么当识别出命令 DO Average 的未定义错误时你就错了,你在同一行中有另一个未定义的错误,它是 AVG 变量,它在你的代码中确实是未定义的。
如果您刚刚开始了解 MUMPS 语言,我建议您将每条命令写在单独的行上。