小白问个基础问题。。table中如何调用其他的值?
lua吧
全部回复
仅看楼主
level 12
举个例子:
local tbl={
a="aaa",
b=a.."123",
}
我想在让b="aaa123",但上面这种写法貌似有语法错误
2016年12月25日 11点12分 1
level 1
不能这么写,定义一个表和运行一个chunk是不同的,a = xxx只是['a']=xxx的语法糖而已。
如果你特别需要这种形式,那么请把这段chunk通过特定env运行
tbl.lua
a="aaa"
b=a.."123"
local f,tbl = loadfile('tbl.lua'),{}
setfenv(f,tbl)()
--tbl.a == 'aaa' tbl.b== 'aaa123'
2016年12月25日 13点12分 2
[汗]这么麻烦啊。。。
2016年12月25日 14点12分
学到了
2016年12月25日 14点12分
[真棒][真棒][真棒]
2016年12月25日 14点12分
@º💢DYC💢º 如果你只是想在代码里方便点,请这样:local a = 'aaa',local tbl{a=a,b=a..'123'}. 我说那个办法是以为你想定义配置文件格式
2016年12月26日 02点12分
level 1
如果你真想在初始化一个表的时候享有lua语言的全部便利,那就按我说的办法做,效率代价肯定有,自己权衡。
表和chunk语法根本上就是不一样的,比如我写x,y=1,1
t = {x,y=1,1} 和chunk里的x,y=1,1都能解释,但完全不同了
2016年12月26日 02点12分 3
level 7
活捉微吧大神[你懂的]
2016年12月28日 18点12分 6
[挖鼻]
2016年12月28日 23点12分
1