3 function check (object
, class
)
4 local v
= next(object
,nil);
6 if class
[v
] = nil then print("unknown field: " .. v
)
7 elseif type(object
[v
]) ~= class
[v
].type
8 then print("wrong type for field " .. v
)
14 if object
[v
] = nil then
15 if class
[v
].default
~= nil then
16 object
[v
] = class
[v
].default
17 else print("field "..v
.." not initialized")
24 typetrilha
= @
{x
= @
{default
= 0, type = "number"},
25 y
= @
{default
= 0, type = "number"},
26 name
= @
{type = "string"}
29 function trilha (t
) check(t
,typetrilha
) end
31 t1
= @trilha
{ x
= 4, name
= "3"}