我:=:
在一些 Clarion 代码中找到了这个符号,但我似乎无法弄清楚它到底是做什么的。该代码是多年前由以前的开发人员编写的,所以我不能问他。我也无法"colon equals colon"
在 Google 中找到任何结果。
这是代码示例,其中bufSlcdpaDtl
是文件对象:
lCCRecord Like(bufSlcdpaDtl),Pre(lCCRecord)
! ...other stuff...
lCCRecord :=: bufSlcdpaDtl
我:=:
在一些 Clarion 代码中找到了这个符号,但我似乎无法弄清楚它到底是做什么的。该代码是多年前由以前的开发人员编写的,所以我不能问他。我也无法"colon equals colon"
在 Google 中找到任何结果。
这是代码示例,其中bufSlcdpaDtl
是文件对象:
lCCRecord Like(bufSlcdpaDtl),Pre(lCCRecord)
! ...other stuff...
lCCRecord :=: bufSlcdpaDtl
在第 561 页的语言参考手册中,这称为深度赋值运算符。语法是目标:=:源。Destination 可以是 GROUP、RECORD、QUEUE ds 或数组的标签。源可以是相同的加上数字、字符串 const、变量、过程或表达式。它将执行从一个 ds 到另一个的多个单独的组件变量分配。更多信息可以在该文档以及 clarion 的明显主页中找到:http: //www.softvelocity.com/
深度赋值运算符的一个很好的例子:
Group1 GROUP
S SHORT
L LONG
END
Group2 GROUP
L SHORT
S REAL
T LONG
END
ArrayField SHORT,DIM(1000)
CODE
Group2 :=: Group1 ! Is equivalent to:
! Group2.S = Group1.S
! Group2.L = Group1.L
! and performs all necessary data conversion
ArrayField :=: 7 ! Is equivalent to:
! LOOP I# = 1 to 1000
! ArrayField[I#] = 7
! END