我正在使用YottaDB 1.32。代码如下(在Yottadb中):
YDB>zedit "probes2"
YDB>zlink "probes2"
我得到的错误如下:YDB-E-INVCMD,遇到无效命令关键字YDB-E-LABELMISSING,被引用但未定义的标签:block1YDB-I-SRCNAM,在源代码模块/home/test/.yottadb/r1.32_x86_64/r/probe2.m
和文件probe2。m是
do set i=100
write i,!
do block1
write i,!
halt
block1
set i=i+i
quit
顺便说一下,我在看Kevin C. O'Kane的视频。而且,我在YottaDB 1.32中使用Kevin的内容时遇到了严重的问题。有人能给我解释一下为什么吗?或者,有什么好的资源可以让我学习实现Mumps命令,子程序,函数,et吗?
这段代码应该可以工作,它在我的系统上确实可以工作。你的ZLINK命令中有一个错别字,应该是
ZLINK"probe2"当你想启动问题2.m
我猜你有一个空格字符在错误的地方或空格太多。记住:腮腺炎行总是这样构建的:
label<space(s) or tab>command<one space>parameter<one space>command<one space>parameter...
如果一行没有标签,它必须在第一个命令之前以空格或制表符开始。如果使用不带参数的命令,则在下一个命令之前必须有两个空格。例子:
FOR I=1:1 QUIT:I=10 WRITE I,!
在后置条件(I=10)之后必须写两个空格,否则要加上&;write &;被视为参数而不是新命令。
顺便说一句:"do"第一行只是一个标签,前面没有空格。所以这可能是误导。最好不要使用与命令拼写相同的标签。