On Sep 11, 2008, at 4:27 PM, David Bovill wrote:

I have another scenario where I had to resort to 'do' though. I'm converting SQL queries to a hierarchal array but unlike XML SQL results have no sense of hierarchy. So I have a couple of 'do' statements in the code which I will promptly replace when/if the engine is updated to support dynamic keys.

I can't quite follow the details of this but I am sure it is a very powerful and important feature to add. I love the ability to have variable properties
for instance. It is so powerful to be able to do this without speed
penalties:

put "name" into someProperty
put the someProperty of btn 1

Same basic idea. You just want to be able to do something like:

put "[people][1][name]" into theKey

and then use theKey to target a specific key in the array somehow. Some pseudo code:

put key theKey of theArrayA into theValue

Right now we have to do something like this:

put "some string" into theValue
put "[people][1][name]" into theKey ## assume you didn't know the full path to the key in advance.
put "put theValue into theArrayA" & theKey into theDo
do theDo

I really like the way lua does this - in particular their concept of
meta(data)tables. You can define a default array in this metatable, and then if a vlaue in your array is not set it returns the default value. This is great for things like translations - and I've often use this data structure going back to Hypercard days. Maybe its not core - but I ffigure if you are going to implement a new datastructure why not learn from the best. Adding things like sorted indexes could be done to the metatable without affecting
any backward compatability issues. Really no more than a suggestion /
thought :)

Now that we have a new data structure it definitely makes you hungry for more. The easier it is to represent the data you are working with using built-in data structures the easier it is to code in that environment. Multi-dimensional arrays are a great addition and hopefully it is a sign of more things to come.

Great functions though Trevor - thanks. Looks like it will be worth using arrays for tree structures. Do you know by the way what the limits on keys
are, and can we now pass arrays to seprop handlers? That would be very
usefull for me as I often define getprop handlers that return arrays - but have to limit this as there is no way to implement a corresponding setprop.

I do not know what the limits are. I was unsuccessful in my attempt to pass multi-dimensional arrays in setProp handlers. But since you can 'send' arrays now you can define your setProp handlers using command and use 'send' instead.

Regards,

--
Trevor DeVore
Blue Mango Learning Systems
www.bluemangolearning.com    -    www.screensteps.com

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to