求变量字符加到全局变量并能读取的办法!!!急求!!
lua吧
全部回复
仅看楼主
level 1
So爆哥 楼主
求变量字符加到全局变量并能读取的办法

全局变量为
x_bl[1] = {tx1= 3,tx2 = 4,tx3 = 5}
现在,我得到一个变量2,
local bl2 = 2
要取到常量中的 tx2的数量

pint(x_bl[1].tx..bl2)
怎么样才能正确读取到tx2中的那个4??
2014年02月25日 21点02分 1
level 8
x_bl[1]["tx"..bl2]
2014年02月26日 01点02分 2
这样写是不对的
2014年02月26日 13点02分
level 1
So爆哥 楼主
研究了好久才解决,如果同样有这个问题的朋友参考下
这里需要用到 _G //调用全局变量模块

bl2 = 222
得到一个临时变量 为
local lsbl = 2
那么就可以
pint(_G["bl"..lsbl]) ;
这样就连接成功,得到全局变量里的bl2 ,显示 222
数组里的东东不能直接这样连接
所以只需要新建一个全局变量来加载他

数组:
x_mnlb[1] = {tx1=2,tx2=3,tx3=4}
全局1
mnlb1, mnlb2, mnlb3, = 0,0,0
在需要调用的地方加载一下mnlb
if x_mnlb[1] .tx1 ~= 0 then
mnlb1 = x_mnlb[1] .tx1
end
2,3,...一样
这样我们就把数组里的数值给予了一个新的全局变量
这会如果得到临时变量就可以转了
local lsbl= 2
pint(_G["mnlb"..lsbl])
这样就会显示出x_mnlb[1] tx2的内容
2014年02月26日 13点02分 3
你还没弄明白表格的字符key和其他key的差别
2014年03月18日 14点03分
level 10
亲测成功 顶
2014年02月26日 22点02分 4
level 13
其实还有个简单方法:写个循环读出来。
local result
for k,v in pairs(x_bl[1]) do
if k=="tx"..bl2 then
result = v
break
end
end
print (result )
2014年03月02日 04点03分 6
层主大才
2014年03月02日 14点03分
其实二楼的方法是对的,楼主为什么不测试一下呢?
2014年03月16日 12点03分
level 13
这两天自己程序中碰到类似问题,直接用数组下标就读出来了。于是想到楼主这个帖子,翻出来重新回一下。二楼的方法是对的,没必要弄那么复杂。
2014年03月16日 12点03分 7
level 8
我也觉得2楼是对的……
2014年03月17日 02点03分 8
1