Combine mystery

Ben Rubinstein benr_mc at cogapp.com
Thu Feb 12 12:11:52 EST 2026


It's rather late in my LiveCode (Revolution) career to be asking this 
question, but here we are.

I happened to be looking at the Dictionary entry for 'combine', and was 
excited to find two variants of the command that I didn't now about. The 
dictionary lists three forms:

> COMBINE arrayName {USING | BY | WITH} primaryDelimiter [AND secondaryDelimiter]
> COMBINE arrayName {USING | BY | WITH} primaryDelimiter as SET
> COMBINE arrayName {USING | BY | WITH} {row | column}

(I've capitalised the words which appear in a colour in the dictionary 
presumably as keywords.)

Well I knew the first form; I hadn't come across the other two (in fairness to 
me, the last form is apparently relatively new, the dictionary entry says that 
it was added in 2.8.1.)

> If you use the as set form the combine command rebuilds the list using the delimiter passed; the values of the array are ignored.

I guess this is equivalent to "the keys" of the array, albeit with the ability 
to specify a delimiter other than return. I'd not come across

It's the third form, mysteriously described as the second form, that I find 
interesting:

> If the second form of the combine command is used, the elements of the original array are considered to be either columns or rows, separated by the columnDelimiter or rowDelimiter property respectively.
> 
> Combining an array by row converts the array into a table with rows separated by the rowDelimiter. Each row in the resulting string is the contents of the corresponding key in the array.
> 
> Combining an array by column converts the array into a table with columns separated by the columnDelimiter . Each column of the resulting string is the contents of the corresponding key in the array.

But I can't see how to access it. "row" and "column" aren't keywords.  If I 
use the syntax specified, quoting row or column, e.g.
	combine aTest using "column"

it simply treats this as the first form, with "column" as the primaryDelimiter 
(and why not). I tried guessing some alternatives
	combine aTest using return by "column"
    	combine aTest by "column" using return

In both cases, no objection was raised to the statement, but the first item 
(return or "column") was again treated as the primaryDelimiter, the second 
part ignored.

Does anyone know what this syntax should be? Does it exist?

TIA,

Ben


More information about the use-livecode mailing list