Combine mystery

Chris Heidecker hechris at ziggo.nl
Fri Feb 13 08:41:49 EST 2026


Try this in a button,
Hope that's an answer to your question?

on mouseUp
put "a"&tab&"b"&tab&"c" & return into aVar
put "x"&tab&"y"&tab&"z" after aVar
-- set the columndelimiter to tab -- default
-- set the rowdelimiter to return -- default
split aVar by column
combine aVar by row
put aVar
end mouseUp


Regards,
Chis Heidecker

> Op 12 feb 2026, om 18:11 heeft Ben Rubinstein via use-livecode <use-livecode at lists.runrev.com> het volgende geschreven:
> 
> 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
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode



More information about the use-livecode mailing list