level 8
w = {x = 0 , y = 0 , "console", jj="geghe"}
x = {math.sin(0), math.sin(1), math.sin(2)}
w[1]="another field"
x.f = w
print (w.x)
print (x [2])
print (x.f,w[2])
上面代码 最后一个print 为什么不是 输出 表w中的 console 而是一个空值呢? 求解释 谢谢啦!
2015年11月14日 16点11分
1
level 8
还有就是把 print (x.f,w[2]) 改成 print(x.f.w[2]) 什么都不输出呢?
2015年11月15日 00点11分
2
level 11
那个console就是w[1]被你覆盖掉了,w[2]从来没有定义过,lua是1-based不是0-based,而且前面的xy不影响console的索引
x.f就是所谓的w,w并没有w的域,x.f.w就是nil,你加个[2]居然没有报错,真可怕
——永夜抄超亲民!
2015年11月15日 02点11分
4
w[1]被我 覆盖了。它不会往后自动编排成w[2]吗?。那要怎么样才索引到它? 还是它已经背直接的替换掉了?
2015年11月15日 15点11分
回复 qq1341898920 :向后自动编排是什么鬼……想多了,他永远的被覆盖掉了
2015年11月15日 23点11分
回复 同在二要 :喔 原来呢
2015年11月16日 13点11分
level 8
还有就是 x.f 能索引到 (w.x的对应值) ( x.f.x) 这样都能索引到 表 W 里x的值呀?
2015年11月15日 15点11分
5
![[黑线]](/static/emoticons/u9ed1u7ebf.png)
这个你自己理解一下吧
2015年11月16日 02点11分