Great you have found that too!
It matched perfectly with my first example.
And sorry for not finding your article from 3 years ago.
But besides the different number of resolving steps for the first and second parameter of the concat, another problem seems to be there in the code below:
(I tried to make no typos here, so please try to read it as it is)
The concat creates a totally unexpected new variable instead of assigning the result to the first parameter.
The first parameter is efg[%x%] (and x is "c"), so the expected destination variable would be efg[c].
But instead, a new variable is created with name
FG[%X% (yes, no closing "]", and where is the "E" and why is the %X% not resolved?)
What the concat does right, is taking the first part of the concatenation from variable efg[c], i.e. "tt".
Also the second part for concatenation is right and so is the resulting string: "ttNN".
But that result is not assigned to efg[c]! Instead it is assigned to a new variable with name FG[%X%
Try next code:
Code: Select all
Let>VAREXPLICIT=0
let>x=C
//x="C"
let>y=NN
//y="NN"
let>efg[c]=tt
//efg[c]="tt"
concat>efg[%x%],y
//FG[%X% == "ttNN"! The value is like I expected,
// but why is the resulting value
// assigned to a variable named "FG[%X%"?
// But it is probably not allowed to use a composite variable
// as a destination (because it is not a Let-statement,
// which was stated by Marcus in earlier subjects).
// To prove that variable really seems to be present:
let>q=FG[%X%
//q == "ttNN" immediate value for FG[%X% found, so it is
// apparantly used
Did you discover this behavior already?
Regards, Eric.