dealing w/ multidimensional arrays

Jan Schenkel janschenkel at
Mon Oct 14 08:20:00 EDT 2002

--- Alex Rice <alex at> wrote:
> On Sunday, October 13, 2002, at 10:04  PM, David
> Vaughan wrote:
> >
> > On Monday, Oct 14, 2002, at 13:29
> Australia/Sydney, Alex Rice wrote:
> >
> > Alex
> >
> >> "... having to scan all the keys and weed out the
> parts..."
> >
> > there is "filter", or were you not really saying
> what it says?
> Filter will work for this particular problem, but I
> want to point out 
> it could be potentially dangerous and isn't really
> correct. Supposing 
> you have several keys in a multidimensional array
> myArr[key1,key2,key3,key4,key5] -- 5 dimensions in
> this array
> put myArr into tArr
> filter tArr with "something" -- filter by a string
> we know occurs in 
> key1
> But what if the string "something" occurs in
> key2,key3,key4 or key5? 
> Not really what I want. If filter accepted a regex
> and I could say
> filter tArr with "^something" -- anchor to beginning
> of key
> that would make me feel better.

Hi Alex,

Actually, the 'filter' command works its way from left
to right, so suppose we have a multi-dimensional array
with the following keys:

You can easily get all the data you want:
  put the keys of myArray into myKeys
  filter myKeys with "firstKey1,*"

At this point myKeys will be filtered down to:
firstKey1, secondKey1, thirdKey1
firstKey1, secondKey1, thirdKey2
firstKey1, secondKey2, thirdKey1
firstKey1, secondKey2, thirdKey2
firstKey1, secondKey3, thirdKey1
firstKey1, secondKey3, thirdKey2

So if you only want the data in 
You would
  put the keys of myArray into myKeys
  filter myKeys with "firstKey1,secondKey3,*"

And then of course you could build a new array using
  repeat for each line tSourceKey of myKeys
    put tSourceKey into tTargetKey
    delete item 1 to 2 of tTargetKey
    put myArray[tSourceKey] into \
  end repeat
Or something similar to this construction.

Hope this helped,

Jan Schenkel.

"As we grow older, we grow both wiser and more foolish at the same time."  (La Rochefoucauld)

Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More

More information about the use-livecode mailing list