What does the symbol mean: =: mean (a colon equals a colon)

I found the symbol :=: in some Clarion code, and I can't figure out exactly what it does. The code was written by a previous developer many years ago, so I can’t ask him. I also could not find any results for "colon equals colon" on Google.

Here is a sample code where bufSlcdpaDtl is a file object:

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

I am wondering if this is like ::= in Python or perhaps the assignment operator := .

+4
source share
1 answer

In the reference guide on page 561 This is called the Deep Assignment statement. The syntax is the assignment: =: source. The assignment can be a GROUP, RECORD, QUEUE ds label, or an array. The source can be the same, plus a numeric, string const, variable, procedure, or expression. It will perform several variable assignments of individual components from one ds to another. More information can be found in this document, as well as in the apparent house: http://www.softvelocity.com/

A great example of what the Deep Assignment operator does:

 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 
+5
source

Source: https://habr.com/ru/post/1437839/


All Articles