F:\SystemCache\WindowsCache%users\Justin\Desktop\ddd.luanil[string "S ... Lua请教。。。为什么table.insert是nil呢?? ,北大侠客行MUD论坛" />

北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5350|回复: 6

Lua请教。。。为什么table.insert是nil呢??

[复制链接]
发表于 2013-6-28 12:53:31 | 显示全部楼层 |阅读模式
<====我是新手====>


tbl = {"alpha", "beta", "gamma"}
table.insert(tbl, "delta")


print(tbl["delta"])

1>F:\SystemCache\WindowsCache\Users\Justin\Desktop\ddd.lua
nil

[string "Script file"]:809: attempt to index field '?' (a nil value)
stack traceback:
        [string "Script file"]:809: in function 'bft'
        [string "Command line"]:1: in main chunk
脚本错误处的上下文:
805 :  print(tt[58])
806 :     repeat -- 循环

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-6-28 13:08:09 | 显示全部楼层
Immediate execution
[string "Command line"]:1: '=' expected near ''
nil
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-6-28 13:08:49 | 显示全部楼层
nil
function test()
        tbl = {"alpha", "beta", "gamma"}
        table.insert(tbl, "delta")


        print(tbl["delta"])

end
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-6-28 13:26:40 | 显示全部楼层
你 print(tbl["alpha"])瞧瞧呢
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-6-28 13:43:21 | 显示全部楼层
本帖最后由 uniboee 于 2013-6-28 01:50 PM 编辑

楼主对 LUA 的 table 理解不对。

tbl = {"alpha", "beta", "gamma"}

这条语句相当于

tbl[1] = "alpha"
tbl[2] = "beta"
tbl[3] = "gamma"

table.insert(tbl, "delta")

相当于

tbl[4] = "delta"

如果你的真实意图是用 alpha beta 作为 key 那么应该写成

tbl = {alpha=1, beta=2, gamma=3}

tbl["delta"] = 4
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-6-28 14:31:07 | 显示全部楼层
楼上说的对,楼主这种问题很明显是不好好看书。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-7-2 13:07:06 | 显示全部楼层
不好意思,新学习一门语言要不停的尝试,以前压根就没听过也没接触过lua
对不起,谢谢大家帮忙
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 07:44 AM , Processed in 0.011347 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表