首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在理解MUMPS语法方面需要帮助

在理解MUMPS语法方面需要帮助
EN

Stack Overflow用户
提问于 2011-03-18 15:43:58
回答 3查看 379关注 0票数 1

你能让我知道下面这句话的意思吗?

代码语言:javascript
复制
S:%B= %B="@1" S:%E= %E="@999"
EN

回答 3

Stack Overflow用户

发布于 2011-06-15 06:53:30

从这行开始:

代码语言:javascript
复制
S:%B= %B="@1" S:%E= %E="@999"

不是真正的MUMPS代码,我同意其他回答者的看法,可能是在将代码粘贴到这个论坛时出现了问题。

你打算发布的最有可能的MUMPS代码是:

代码语言:javascript
复制
S:%B="" %B="@1" S:%E="" %E="@999"

有了完整的解释,这是同一行上的两个MUMPS命令:

代码语言:javascript
复制
S:%B="" %B="@1" 
S:%E="" %E="@999"

使用非简明的流行性出血热,将是:

代码语言:javascript
复制
SET:%B="" %B="@1" 
SET:%E="" %E="@999"

或者在英语中,这些命令检查一个变量,如果该变量没有对该程序有意义的值,则为该变量分配(设置)一个默认值。

对于名为%B的变量,当满足保护条件(%B="")时,将分配默认字符串值"@1“。同样,对于名为%E的变量,如果变量%E等于空字符串,则会分配默认字符串值"@999“。

MUMPS中的"@“字符用于值与变量的后期绑定(在语言中称为间接),但后面必须跟一个变量的名称。诸如"1“或"999”之类的纯数字值不是变量的名称,因此这些默认值不太可能间接引用另一个值。

票数 6
EN

Stack Overflow用户

发布于 2011-06-13 23:20:59

假设集合解析为S:%B="" (DTM和Cache在比较值时,默认情况下似乎不允许隐式null;如果我错了,请某人评论),

set:%B="" %B="@1" set:%E="" %E="@999",等同于

代码语言:javascript
复制
if %B="" set %B="@1"
if %E="" set %E="@999"

对于%B和%E变量中的每个变量,如果它是空字符串,则分别指定文字字符串值"@1“和"@999”。SET、WRITE、DO等命令后面的冒号(:)以紧跟在冒号后面的语句为条件。

至于语法,它就像程序员做的那样丑陋。

票数 4
EN

Stack Overflow用户

发布于 2011-03-21 17:17:10

这就是所谓的条件SET。如果%B或%E变量为空,则将它们设置为相应的变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5349294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档