变量类型为点的结构

如果变量为点型,用户仍可使用 .X、.Y、.Z、.I、.J 及 .K 扩展名来获取点的各项。用户也可在结构中使用本例的任何一种扩展名,而不必强制将它们作为点元素使用。

ASSIGN/V1.X="Some string"
ASSIGN/V1.Y=ARRAY(1,3,5,9,7)
ASSIGN/V1.Z=MPOINT(3,5,7)

COMMENT/REPT,V1.X

输出为“Some string”

COMMENT/REPT,V1.Y[2]

输出为3,数组的第二个元素。

COMMENT/REPT,V1.Z.Y

输出为 5,即 MPOINTY 值。

通过将结构与 PC-DMIS 表达式语言的函数功能组合使用,可以获得动态结构引用,如下所示:

ASSIGN/DYNAMICSTRUCT=FUNCTION((X,Y),X.Y)
C1=COMMENT/INPUT,Please enter in item
ASSIGN/TESTSTR=C1.INPUT
ASSIGN/FRONT=LEFT(TESTSTR,INDEX(TESTSTR,".")-1)
ASSIGN/BACK=MID(TESTSTR,INDEX(TESTSTR,"."))
ASSIGN/RESULT=DYNAMICSTRUCT(FRONT,BACK)

示例的这一部分要求您输入一个变量参考,并在第一个 "." 处分解参考,然后运用函数 DYNAMICSTRUCTRESULT 赋值为与该参照相等。

因此,若为变量 C1.INPUT 键入 V1.Y[4]RESULT 将为 9(数组的第四个元素被赋值给 V1.Y

表达式的学习时间评估已增强,可以准确显示结构或数组的所有元素。