Imported from ../lua-2.1.tar.gz.
[lua.git] / test / save.lua
blob8c64c568d02fbc6fe8c979f61c97d76b5380b4ce
3 function savevar (n,v)
4 if v == nil then return end;
5 if type(v) == "number" then print(n.."="..v) return end
6 if type(v) == "string" then print(n.."='"..v.."'") return end
7 if type(v) == "table" then
8 if v.__visited__ ~= nil then
9 print(n .. "=" .. v.__visited__);
10 else
11 print(n.."=@()")
12 v.__visited__ = n;
13 local r,f;
14 r,f = next(v,nil);
15 while r ~= nil do
16 if r ~= "__visited__" then
17 if type(r) == 'string' then
18 savevar(n.."['"..r.."']",f)
19 else
20 savevar(n.."["..r.."]",f)
21 end
22 end
23 r,f = next(v,r)
24 end
25 end
26 end
27 end
29 function save ()
30 local n,v
31 n,v = nextvar(nil)
32 while n ~= nil do
33 savevar(n,v);
34 n,v = nextvar(n)
35 end
36 end
38 a = 3
39 x = {a = 4, b = "name", l={4,5,67}}
41 b = {t=5}
42 x.next = b
45 save()