1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- $debug
- function savevar (n,v)
- if v = nil then return end;
- if type(v) = "number" then print(n.."="..v) return end
- if type(v) = "string" then print(n.."='"..v.."'") return end
- if type(v) = "table" then
- if v.__visited__ ~= nil then
- print(n .. "=" .. v.__visited__);
- else
- print(n.."=@()")
- v.__visited__ = n;
- local r,f;
- r,f = next(v,nil);
- while r ~= nil do
- if r ~= "__visited__" then
- if type(r) = 'string' then
- savevar(n.."['"..r.."']",f)
- else
- savevar(n.."["..r.."]",f)
- end
- end
- r,f = next(v,r)
- end
- end
- end
- end
- function save ()
- local n,v
- n,v = nextvar(nil)
- while n ~= nil do
- savevar(n,v);
- n,v = nextvar(n)
- end
- end
- a = 3
- x = @{a = 4, b = "name", l=@[4,5,67]}
- b = @{t=5}
- x.next = b
- save()
|