M - 这个简单的for循环有什么问题

Jam*_*son 4 mumps

我正在与基于fis-gtm的腮腺炎系统接口,我需要在我的本地Linux安装上使用一些测试数据(CENTOS 7上的fis-gtm V6.2).

所以我阅读了手册并提出: -

set nword(1)="one"
set nword(2)="two"
set nword(3)="three"
set nword(4)="four"
set nword(5)="five"
set nword(6)="six"
set nword(7)="seven"
set nword(8)="eight"
set nword(9)="nine"
set nword(10)="ten"
set rn=^runcount+1
FOR i=1:1:10  DO    
. FOR j=1:1:10  DO    
.. set val="run:"_nword(rn)_" transaction:"_nword(i)_" update:"_nword(j)
.. w val,!
Run Code Online (Sandbox Code Playgroud)

这似乎很简单 - 但我无法接受内部DO循环.

无论我尝试什么,我得到: -

GTM>. FOR j=1:1:10  DO
%GTM-E-CMD, Command expected but not found
    . FOR j=1:1:10  DO
    ^-----
Run Code Online (Sandbox Code Playgroud)

在放弃并下载perl绑定之前,我基本上浪费了整整一个上午.

是否可以将嵌套DO与简单的FOR结合起来?如果是这样我做错了什么?

奇怪 - "." 如果您定义例程并编译但不是直接执行,则类型嵌套选项有效!

终于解决了.

小智 7

FOR迭代参数后面不应该有两个空格,只有一个空格.

FOR i=1:1:10 DO
. FOR...
Run Code Online (Sandbox Code Playgroud)

  • 实际上已经尝试过 - 问题在于我是以交互方式运行的.解释器有时只在下一行识别DO后跟".".当我"ZLINK"然后执行时工作正常.去搞清楚. (5认同)