From 2b8bae453f611a0360046081288309ebaa87ff4c Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Thu, 3 Apr 2014 04:41:43 +1000 Subject: Docs++ --- ClientHamr/GuiLua/skang.lua | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'ClientHamr/GuiLua/skang.lua') diff --git a/ClientHamr/GuiLua/skang.lua b/ClientHamr/GuiLua/skang.lua index b36b8a3..674f8f9 100644 --- a/ClientHamr/GuiLua/skang.lua +++ b/ClientHamr/GuiLua/skang.lua @@ -332,6 +332,12 @@ A parent is free to use it's own name space for anything it wants. Only the variables it specifies as managed Things are dealt with here. +Things that are tables are treated differently, in two different ways even. +Ordinary table Things are basically treated recursively, the table is a parent, and it gets it's own Things. +There is also 'Keyed' type table Things, where the keys to this table are arbitrary, but we still want to store Things in it. +In this case, when a table is assigned to this Keyed Thing, via a new key, a new table Thing is created by copying the parent Thing description. + + TODO - test.foo -> test.__index(test, 'foo') -> test.__values[foo]; if that's nil, and test.stuff[foo], then return an empty table instead? stuff.s = {a='foo'} -> changes a, deletes everything else, or should. -- cgit v1.1