【问题标题】:What does the symbol :=: mean (colon equals colon)符号 :=: 是什么意思(冒号等于冒号)
【发布时间】:2012-09-25 16:17:26
【问题描述】:

我在一些 Clarion 代码中找到了符号 :=:,但我似乎无法弄清楚它的确切作用。该代码是多年前由以前的开发人员编写的,所以我不能问他。我也无法在 Google 中找到"colon equals colon" 的任何结果。

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

lCCRecord Like(bufSlcdpaDtl),Pre(lCCRecord)

! ...other stuff...

lCCRecord :=: bufSlcdpaDtl

我想知道它是否类似于 ::= in Python 或可能类似于 the assignment operator :=

【问题讨论】:

  • 您可以尝试使用symbolhound.com进行特殊字符搜索
  • +1 是一个很棒的搜索引擎。已收藏。但是,我仍然找不到它叫什么。我找到了一些对它的引用,比如 Haskell 的 here,但没有人直呼操作员的名字......

标签: operators clarion colon-equals


【解决方案1】:

在第 561 页的language reference manual 中,这称为深度赋值运算符。语法是目标:=:源。 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

【讨论】:

  • 太棒了!我现在也会用一些示例代码更新我的问题。谢谢。
猜你喜欢
  • 2012-10-09
  • 2019-09-14
  • 2014-11-17
  • 1970-01-01
  • 1970-01-01
  • 2012-01-26
  • 1970-01-01
  • 2021-02-06
相关资源
最近更新 更多