符号 :=: 是什么意思(冒号等于冒号)



我在某些 Clarion 代码中找到了:=:符号,但我似乎无法弄清楚它到底是做什么的。 代码是多年前由以前的开发人员编写的,所以我不能问他。 我也无法在谷歌中找到任何"colon equals colon"的结果。

下面是一个代码示例,其中bufSlcdpaDtl是一个文件对象:

lCCRecord Like(bufSlcdpaDtl),Pre(lCCRecord)
! ...other stuff...
lCCRecord :=: bufSlcdpaDtl

我想知道它是否类似于 Python 中的::=或可能是赋值运算符:=.

在第 561 页的语言参考手册中,这称为深度赋值运算符。语法是目标 :=: 源。目标可以是组、记录、队列 ds 或数组的标签。源可以是相同的加上数字、字符串常量、变量、过程或表达式。它将执行从一个 ds 到另一个 ds 的多个单独的组件变量分配。更多信息可以在该文件中找到,以及号角的明显故乡: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

相关内容

  • 没有找到相关文章

最新更新