# Help by multiple tables

Hallo. Have a problem with tables. After entring a number, from multiple tables to a specific table can be selected. From this a llimitid number are displayed. An example follows. What is wrong in my Code?

``````-- Tables - need help
--
-- Use this function to perform your initial setup
function setup()
print("Hello World!")
t1={}
t2={}
t3={}
t1={4,15,33,22,45,29}
t2={18,24,13,2,105,32}
t3={56,47,66,71,89,122}
--input n = 2
--input r = 5
n=2; r=5
--show number 5 in table t2
print("n = ",n)  --> 2
print("r = ",r)  --> 5
m=("t" ..n .."[" ..r .."]")
print("m = ",m) --> t2
p = m
print("p = ", p) --> t2
print("t2[r] = ", t2[r]) --> 105

p=(m)[r]
print("p =",p) --> nil
p1=m[r]
print("p1 =",p1) --> nil
end

-- This function gets called once every frame
function draw()
-- This sets a dark background color
background(40, 40, 50)

-- This sets the line thickness
strokeWidth(5)

-- Do your drawing here
end
``````

I’m not totally sure what the syntax `p=(m)[r]` is meant to do. Is this something you’ve found on another lua site?

What it looks like you are trying to do is define a command by constructing it as a string and then executing it. This is what `loadstring` is for. So you could achieve this as follows:

``````local f = loadstring("p = t" .. n .. "[" .. r .. "]")
f()
print(p)
``````

This will result in the desired outcome of `105`.

An alternative which wouldn’t need `loadstring` would be to make the dummy index in your tables a real index. Thus start your code with:

``````t = {}
t = {...}
t = {...}
t = {...}
``````

or even just

``````t = {{...}, {...}, {...}}
``````

Then you can simply put `p = t[n][r]`.

Thanks for your quick help. The solution worked immediately. If one know how, every thing is simple. But for us newbies, it is often a big hurdle.
Fortunately there are experts like you.