Mack Moonshine
Mack Moonshine

Reputation: 11

I have a string that contains a table how to I convert it to a table?

My string is

 {{{X=-1,Y =-1,Z =1}{X=0,Y =-1,Z =1}{X=1,Y =-1,Z =1}}{{X=-1,Y =0,Z =1}{X=0,Y =0,Z =1}{X=1,Y =0,Z =1}}{{X=-1,Y =1,Z =1}{X=0,Y =1,Z =1}{X=1,Y =1,Z =1}}{{X=-1,Y =2,Z =1}{X=0,Y =2,Z =1}{X=1,Y =2,Z =1}}}{{{X=1,Y =-1,Z=-1}{X=1,Y =-1,Z=0}{X=1,Y =-1,Z=1}}{{X=1,Y =0,Z=-1}{X=1,Y =0,Z=0}{X=1,Y =0,Z=1}}{{X=1,Y =1,Z=-1}{X=1,Y =1,Z=0}{X=1,Y =1,Z=1}}{{X=1,Y =2,Z=-1}{X=1,Y =2,Z=0}{X=1,Y =2,Z=1}}}{{{X=-1,Y =-1,Z = -1}{X=0,Y =-1,Z = -1}{X=1,Y =-1,Z = -1}}{{X=-1,Y =0,Z = -1}{X=0,Y =0,Z = -1}{X=1,Y =0,Z = -1}}{{X=-1,Y =1,Z = -1}{X=0,Y =1,Z = -1}{X=1,Y =1,Z = -1}}{{X=-1,Y =2,Z = -1}{X=0,Y =2,Z = -1}{X=1,Y =2,Z = -1}}}{{{X=-1,Y=-1,Z=-1}{X=-1,Y=-1,Z=0}{X=-1,Y=-1,Z=1}}{{X=-1,Y=0,Z=-1}{X=-1,Y=0,Z=0}{X=-1,Y=0,Z=1}}{{X=-1,Y=1,Z=-1}{X=-1,Y=1,Z=0}{X=-1,Y=1,Z=1}}{{X=-1,Y=2,Z=-1}{X=-1,Y=2,Z=0}{X=-1,Y=2,Z=1}}}

I need it to be a table like this

{
 {
  { X = -1, Y = -1 , Z = 1  }
  { X = 0, Y = -1 , Z = 1  }
  { X = 1, Y = -1 , Z = 1  }
 }
 {
  { X = -1, Y = 0 , Z = 1  }
  { X = 0, Y = 0 , Z = 1  }
  { X = 1, Y = 0 , Z = 1  }
 }
 {
  { X = -1, Y = 1 , Z = 1  }
  { X = 0, Y = 1 , Z = 1  }
  { X = 1, Y = 1 , Z = 1  }
 }
 {
  { X = -1, Y = 2 , Z = 1  }
  { X = 0, Y = 2 , Z = 1  }
  { X = 1, Y = 2 , Z = 1  }
 }
}
{
 {
  { X = 1, Y = -1 , Z = -1  }
  { X = 1, Y = -1 , Z = 0  }
  { X = 1, Y = -1 , Z = 1  }
 }
 {
  { X = 1, Y = 0 , Z = -1  }
  { X = 1, Y = 0 , Z = 0  }
  { X = 1, Y = 0 , Z = 1  }
 }
 {
  { X = 1, Y = 1 , Z = -1  }
  { X = 1, Y = 1 , Z = 0  }
  { X = 1, Y = 1 , Z = 1  }
 }
 {
  { X = 1, Y = 2 , Z = -1  }
  { X = 1, Y = 2 , Z = 0  }
  { X = 1, Y = 2 , Z = 1  }
 }
}
{
 {
  { X = -1, Y = -1 , Z = -1}
  { X = 0, Y = -1 , Z = -1}
  { X = 1, Y = -1 , Z = -1}
 }
 {
  { X = -1, Y = 0 , Z = -1}
  { X = 0, Y = 0 , Z = -1}
  { X = 1, Y = 0 , Z = -1}
 }
 {
  { X = -1, Y = 1 , Z = -1}
  { X = 0, Y = 1 , Z = -1}
  { X = 1, Y = 1 , Z = -1}
 }
 {
  { X = -1, Y = 2 , Z = -1}
  { X = 0, Y = 2 , Z = -1}
  { X = 1, Y = 2 , Z = -1}
 }
}
{
 {
  { X = -1, Y = -1 , Z = -1  }
  { X = -1, Y = -1 , Z = 0  }
  { X = -1, Y = -1 , Z = 1  }
 }
 {
  { X = -1, Y = 0 , Z = -1  }
  { X = -1, Y = 0 , Z = 0  }
  { X = -1, Y = 0 , Z = 1  }
 }
 {
  { X = -1, Y = 1 , Z = -1  }
  { X = -1, Y = 1 , Z = 0  }
  { X = -1, Y = 1 , Z = 1  }
 }
 {
  { X = -1, Y = 2 , Z = -1  }
  { X = -1, Y = 2 , Z = 0  }
  { X = -1, Y = 2 , Z = 1  }
 }
}

what methods or how would I go about doing this ? I would do it during the table generation (add the tables in tables but the code I have seems to put it in the tables incorrectly. so the code generates a string that contains the correct tables and I need to know how to place that sting of tables into a table ...

Upvotes: 0

Views: 56

Answers (2)

Mack Moonshine
Mack Moonshine

Reputation: 11

local Xmin = -1
local Xmax = 1
local Ymin = -1
local Ymax = 2
local Zmin = 1
local Zmax = 1
local BoxControl = 3
tbmroad.offsets = {}
local a = 0
local b = 0
local c = 0
local d = 0
local e = {}
local f = {}
local g = {}
local h = {}
local i = {}
local j = {}
local k = {}
local offsets = {}

local index = 0
for a = 0, BoxControl do 
for b = Zmin, Zmax do
   for c = Ymin, Ymax do
     for d = Xmin, Xmax do
       if a == 0 then
         e[d+1] = {X = d, Y = c , Z = b}
       elseif a == 1 then
         e[d+1] = { X = b, Y = c , Z = d  }
       elseif a == 2 then
     b1= b * -1
         e[d+1] = { X = d, Y = c , Z = b1}
       elseif a == 3 then
     b1 = b * -1
         e[d+1] = { X = b1, Y = c , Z = d}
       end   
     end
    f[c+1] = e
   end
   offsets[#offsets+1] = f
 end
end

done and done

Upvotes: -2

warspyking
warspyking

Reputation: 3113

Well, you could manually parse it. I won't however, make it FOR you.

I will however give you a temporary solution. (It's a pretty bad one, but until you make a parser it's good enough)

local tab = load("return "..you_table_string)()

Note: In Lua 5.1 and under it's loadstring

Which compiles code from a string into a function, doing so is usually frowned upon though.

Upvotes: 3

Related Questions