如果我定义For K= " ABC“:1:3现在"ABC”的值是多少,循环如何执行"ABC",或者如果我接受任何“字符串”,如何递增字符串“ABC”。
Bhas
发布于 2010-11-26 12:26:34
MUMPS通过从左到右读取字符串来将字符串转换为数值。它将使用任何数字和它在结果数字中遇到的第一个句点,并且将在第一个非数字字符处停止。
字符串到数字转换的示例:
String -> Number
" 1234“-> 1234
"1234A“-> 1234
"1234A4321“-> 1234
"“-> 0
"A“-> 0
"ABC“-> 0
发布于 2011-01-19 21:32:30
如果你能接触到流行性出血热系统,就很容易找到答案。只需运行以下例程,该例程可以驻留在一个文件中,例如3.M:
for3
; routine to test FOR command
FOR K="ABC":1:3 WRITE "K=",K,! QUIT在我的Linux机器上,我安装了GT.M。你可以在http://sourceforge.net/projects/fis-gtm/上找到它。
下面是输出:
$ gtm -run for3
K=0
K=1
K=2
K=3HTH Nathan
发布于 2011-02-04 03:39:18
如果你想迭代字符串"ABC“,你可以这样做:
S STR="ABC"
F I=1:1:$L(STR) W $E(STR,I,I),!$L ($Length)函数将返回STR的长度。在本例中为3,因此for循环将仅迭代3次。
$E ($Extract)函数将提取STR的子串。$E的第一个参数是要从中提取的字符串。第二个参数是起始位置,第三个参数是子串的结束位置。在本例中,我指定了相同的开始和结束位置,以便每次提取一个字符。
还可以将字段分隔符指定为$L函数的第二个参数。因此,如果STR=“姓名|年龄|性别”,您可以通过以下方式写出每个字段:
S STR="NAME|AGE|SEX"
F I=1:1:$L(STR,"|") W $P(STR,"|",1),!在这里,$L将返回3,并且for循环将迭代3次。
$P函数($Piece)将使用竖线字符(|)作为字段分隔符从STR中提取每个字段,由我决定返回哪个字段。
希望这能帮到你。
igotmumps
https://stackoverflow.com/questions/4276544
复制相似问题