我在学习Mumps语言的时候,在分析代码的时候遇到了一个疑问,那就是
B%%和%%B之间的区别是什么?
但参考一下我只见过%%B格式的语法,但在代码中他们使用了像B%%
Bhas
发布于 2011-06-13 23:12:57
%前缀是一种约定。它对M(UMPS)解释器没有任何意义,但对程序员有意义。通常,%变量是“临时”或临时变量,不应用于超过一两行代码的任何事情。例如:
for %ln=1:1:maxNum do ImportantThing(%ln) ; loop over lines 1 through maxNum在普通代码中,您将声明(新)一个变量并正确使用它,但在引入“插件”代码时,这类事情很常见,例如一些EHR应用程序的“预订患者预约后”编程钩子。
发布于 2011-04-14 16:11:12
允许以"%%“作为变量名的前缀或结尾。我没有意识到在MUMPS变量名中使用“%”的特殊意义,但这是一个常见的“惯例”。在这里推测,但我确实注意到,当MUMPS变量名的一部分和"%“位于ASCII值和键盘位置上的所有这三个变量附近时,$,^,&都有特殊的含义。
发布于 2013-08-20 04:38:35
程序,全局
在标准MUMPS系统中,有一个MGR UCI,系统和实用程序驻留在其中。如果程序名以"%“开头,也可以从其他UCI访问它,实用程序的名称以"%”开头,例如"%STA“(作业状态)、"%GE”(全局编辑)等等。只有MGR UCI中的程序才能以"%“开头。
此外,以"%“开头的全局变量驻留在MGR UCI中,可以从其他UCI访问。
因此,使用"%“作为程序或全局的第一个字符是系统的一部分(也可以说是语言)。
本地变量
MUMPS是一个非常古老的东西,原始语言没有局部变量支持(所有子例程和主程序共享一个公共名称空间)。无论如何,用户程序可以调用其他程序,也可以调用实用程序: DO FUNCT^%UTILPRG。按照惯例,实用程序使用以"%“开头的变量名,因此它们不会与用户程序的变量冲突。
因此,使用"%“作为局部变量的第一个字符只是一种惯例,但它是在实用程序中使用的。
https://stackoverflow.com/questions/5298690
复制相似问题