Hi folks, Inspired by Jaque’s (working - thank you!) response to my question “Show Tree widget row contents on hover” I’ve isolated the final piece of that puzzle that leaves me baffled.
Specifically, can LiveCode accept a dynamically built key for a nested multi-dimensional array? Copy the button script recipe below to see the problem. Perhaps the LC array experts here can help explain why Jaque’s hard-wired key definition works but my attempts to replicate this syntax via scripting to support variable depth of arrays get ignored? Is it my syntax or just the way arrays work in LC…? on mouseUp pButtonNumber # Create a nested array put "Content" into tArray["key1"]["key2"]["key3"]["key4"] # Replicate the path response from the Tree widget actionInspect function put "key1,key2,key3,key4" into pPath # Jaque's 'hard-wired' array key recipe works! answer tArray[item 1 of pPath][item 2 of pPath][item 3 of pPath][item 4 of pPath] --returns 'Content' # Replicate Jaque's syntax dynamically put the number of items in pPath into tKeyCount put empty into iNum repeat for each item i in pPath add 1 to iNum # Try building the full key string put "[" & item iNum of pPath & "]"after tKey1 # Try building keys string to 'embed' into the regular array key syntax put item iNum of pPath after tKey2 if iNum < tKeyCount then put "][" after tKey2 # Try building by each key if i is not empty then put "[" & item iNum of pPath & "]" after tArray2 end repeat # Dynamic tKey1 results answer tKey1 -- returns '["key1"]["key2"]["key3"]["key4"]' ...seems 'correct' answer tArray & tKey1 -- returns '["key1"]["key2"]["key3"]["key4"]' ...dynamic key definition is not appended to array(?) # Dynamic tKey2 results answer tKey2 -- returns '"key1"]["key2"]["key3"]["key4"' answer tArray[tKey2] -- returns null ...dynamic key definition is not understood (as first level key)? answer tArray2 -- returns '["key1"]["key2"]["key3"]["key4"]' ...dynamic key definition is not appended to array(?) end mouseUp Best, Keith _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode