I. File Read and storage:
-- Does not seem to support large files (cannot exceed 9 K ?)
Function filesaveload ()
Local file = Io. Open ("C: \ In. Lua", "R ");
Assert (File );
Local Data = file: Read ("* A"); -- read all content
File: Close ();
File = Io. Open ("C: \ out. Lua", "W ");
Assert (File );
File: Write (data );
File: Close ();
End
Filesaveload ();
Ii. non-circular table processing:
Hero = 1;
Monster = 2;
Building = 3;
Sumunit = 4;
Cha = {};
Cha [1] =
{
Basic =
{
Name = "farmer", -- NPC name
Cha_type = hero, -- NPC model
},
Combat =
{
Acquire = 600.00, -- range of active attacks
Basic_def = 10, -- basic defense
},
};
Function savetablecontent (file, OBJ)
Local sztype = type (OBJ );
Print (sztype );
If sztype = "Number" then
File: Write (OBJ );
Elseif sztype = "string" then
File: Write (string. Format ("% Q", OBJ ));
Elseif sztype = "table" then
-- Format the table content and write it to a file
File: Write ("{\ n ");
For I, V in pairs (OBJ) Do
File: Write ("[");
Savetablecontent (file, I );
File: Write ("] = \ n ");
Savetablecontent (file, V );
File: Write (", \ n ");
End
File: Write ("} \ n ");
Else
Error ("can't serialize a"... sztype );
End
End
Function savetable ()
Local file = Io. Open ("E: \ 00_00_00 _ overseas group _ learning \ write to .txt", "W ");
Assert (File );
File: Write ("Cha ={}\ N ");
File: Write ("Cha [1] = \ n ");
Savetablecontent (file, Cha [1]);
File: Write ("} \ n ");
File: Close ();
End
Savetable ();