Feature request: merge function!
hh
hh at hyperhh.de
Fri Jan 18 10:23:45 EST 2019
Until parametrization is implemented for LC 9 one could use
the following generalization of Andre's method for David.
This is still fast enough because replace is so fast in LC.
David would call merge2(string, "{{", "}}").
To make merge xml safe use e.g. merge2(string,,,"<1>","<2>")
Of course you have to make all variables that you use in string
to local script variables (with that accessible by merge2)
[OR split merge2 into 3 parts: beforeMerge, merge, afterMerge].
-- The following works in LC 6/7/8/9.
-- t_1 is the new opening tag replacing [[
-- t_2 is the new closing tag replacing ]]
-- t_3 is the new opening tag replacing <?
-- t_4 is the new closing tag replacing ?>
-- Leave a t_x empty to use the merge-opening/closing tag.
--> The t_i+1 must not contain t_1 to t_i for all i <--
function merge2 s,t_1,t_2,t_3,t_4
put t_1 is not empty into c1
put t_2 is not empty into c2
put t_3 is not empty into c3
put t_4 is not empty into c4
if c1 then
replace "[[" with numToChar(1) in s
replace t_1 with "[[" in s
end if
if c2 then
replace "]]" with numToChar(2) in s
replace t_2 with "]]" in s
end if
if c3 then
replace "<?" with numToChar(3) in s
replace t_3 with "<?" in s
end if
if c4 then
replace "?>" with numToChar(4) in s
replace t_4 with "?>" in s
end if
put merge(s) into s
if c1 then replace numToChar(1) with "[[" in s
if c2 then replace numToChar(2) with "]]" in s
if c3 then replace numToChar(3) with "<?" in s
if c4 then replace numToChar(4) with "?>" in s
return s
end merge2
More information about the use-livecode
mailing list