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
![[汗]](/static/emoticons/u6c57.png)
这么麻烦啊。。。
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