Sean Cole wrote:

> Why is tArray[x,y,z] more useful/flexible but not better
> than tArray[x][y][z]?

Is it?

Remember the definition of an array: a collection of name-value pairs where the name can be any string up to 255 chars long, and the value can be any data, including another array.

With that in mind, this:

    tArray[x,y,z]

...is recognized a one-dimensional array.

It just happens to include commas in the key string.

An array using delimited strings as keys might be useful for parsing lists of those keys.

You could also parse the key strings with a custom delimiter:

    tArray[ x &tab& y &tab& z ]

Sometimes this may be useful for aggregate operations on an array, such as LC's matrixMultiply function which suggests the delimited-string form, or other operations where using filter on the key list may be helpful, e.g.:

    put the keys of tArray into tKeys
    filter tKeys with "4,*"

But you can't obtain any subarray using only delimited key strings, because there is none.

For that you would need a multidimensional array: tArray[x][y][z]

Depending on what you're doing, there may be cases where using delimited string keys in one dimension is useful in an array where other dimensions use simpler strings:

    tArray[a][x,y,z][b]

LiveCode is very flexible, giving us many options for structuring data according to the needs of the task at hand. Which is "better" or "more useful" depends on the problem being solved.

--
Richard Gaskin
Fourth World Systems

_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to