I am not very familiar yet with the method(s) used in Macro Scheduler to resolve variables.
I have already seen very interesting topics about usage of %-signs, one of them is that you better not use them unless they are really necessary.
But before I was aware of that, I did the experiments below.
Some are not useful at all, but I used them to show the cases I wanted:
Code: Select all
Let>VAREXPLICIT=0
let>a=b
//a == "b" immediate value for b not found, so "b" is result
let>b=c
//b == "c"
let>cb=CitBand
//cb == "CitBand"
let>x=a
//x == "b" immediate value for a found, so it is apparantly used
let>x=%a%
//x == "c" immediate value for %a% not found, so translate
// embedded variables:
// %a% --> "B"
// then immediate value for B found, so C is result.
let>x=%a%%b%
//x == "bc" immediate value for %a%%b% not found, so translate
// embedded variables:
// %a% --> "B", %b% --> "C"
// then immediate value for BC not found, so BC is result.
let>x=%b%%a%
//x == "CitBand"! immediate value for %b%%a% not found, so
// translate embedded variables:
// %a% --> "B", %b% --> "C"
// then immediate value for CB found, so "CitBand" is result.
let>x= %b%%a%
//x == " cb" : immediate value for " %b%%a%" not found, so translate
// embedded variables:
// %a% --> "B", %b% --> "C"
// then immediate value for " cb" not found, so " cb" is result.
Code: Select all
Let>VAREXPLICIT=0
let>e%dos%=ThisIsEdos
let>onetwo=12
let>dos=two
let>x=e%dos%
//x == "ThisIsEdos" immediate value for e%dos% found,
// so result is "ThisIsEdos"
// Note that "%dos%" is not translated here,
// else result would have been "etwo".
let>x=ne%dos%
//x == "netwo" immediate value for ne%dos% not found, so
// translate embedded variable(s)
// %dos% --> "two"
// then immediate value for "netwo" not found,
// so it becomes the result.
let>x=one%dos%
//x == "12" immediate value for one%dos% not found, so
// translate embedded variables
// %dos% --> "two"
// then immediate value for "onetwo" found, so result is "12"
Any other comments?
Regards,
Eric.