|
|||||||
Recently we were stumped by a compilation error when using pipes to create a multi line statement, this sort of thing, if value then on inlist("ALPHA,BRAVO,CHARLIE", value, ",") goSub | doAlpha, | doBravo, | doCharlie end the compiler just kept complaining about an unmatched then/end else. We thought that the only way to get to the bottom of this was to look at what the precompiler produced to see where the error was. Struggling we tried to recall the syntax of the pragma to save the precompiled output. Fortunately a more knowledgeable team member pointed out that using the pipe stripped spaces by design, to allow aesthetic alignments of strings. What this meant was that the compiler was not compiling goSub doAlpha, but rather, goSubdoAlpha. The solution, repeating pipes. Using two pipes prevents the spaces being stripped and if value then on inlist("ALPHA,BRAVO,CHARLIE", value, ",") goSub || doAlpha, | doBravo, | doCharlie end compiled just fine. Anyway it's been 16 years since our article on using pragmas and it's still as relevant as ever, so why not check it out and refresh your memory! |
|||||||
| |||||||
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home