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