北大侠客行MUD论坛

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

mush变量问题

[复制链接]
发表于 2010-11-21 17:43:37 | 显示全部楼层 |阅读模式
关于表变量(应该是这个叫法吧)的问题
比如我想建立一个表变量如下
姓名  年龄  职业
张三   18    工人
李四   20   农民
王二  33    医生
....
在lua中应该如何写,如何调用呢?

[ 本帖最后由 cying 于 2010-11-21 05:44 PM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-21 17:49:37 | 显示全部楼层
local table = {
        {["姓名"]="张三", ["年龄"]=18, ["职业"]="工人"},
        {["姓名"]="李四", ["年龄"]=20, ["职业"]="农民"},
        {["姓名"]="王五", ["年龄"]=30, ["职业"]="医生"},
       }
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-11-21 17:57:58 | 显示全部楼层
我想要预设几个不同的表就可以用全局变量
表1= {
        {["姓名"]="张三", ["年龄"]=18, ["职业"]="工人"},
        {["姓名"]="李四", ["年龄"]=20, ["职业"]="农民"},
        {["姓名"]="王五", ["年龄"]=30, ["职业"]="医生"},
       }
表2={...}
......
然后需要用任何一个赋值
local 表=表1
local 姓名=表[0].姓名
就把“张三”赋值给临时变量姓名了吧
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-21 18:01:32 | 显示全部楼层
在整理资料,没直接测试,不过,
1 全局变量不需要用local吧
2 lua中数组的下标是从1开始的,应该是姓名=表[1].姓名
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-11-21 18:03:56 | 显示全部楼层
还有一个问题
假如我在一个function中定义了一个临时变量,并给他赋了值,当我第二次调用这个function时上次赋的值还存在吗?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-11-21 18:06:19 | 显示全部楼层
原帖由 lzkd 于 2010-11-21 06:01 PM 发表
在整理资料,没直接测试,不过,
1 全局变量不需要用local吧
2 lua中数组的下标是从1开始的,应该是姓名=表[1].姓名

oh知道了,我预设的表是全局的但是根据不同的情况调用不同的表
hehe
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-21 18:21:30 | 显示全部楼层
原帖由 cying 于 2010-11-21 06:03 PM 发表
还有一个问题
假如我在一个function中定义了一个临时变量,并给他赋了值,当我第二次调用这个function时上次赋的值还存在吗?


用local 的时候只能在函数内部使用。如果你不定义为local。第二次调用会保存上一次的赋值。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-2 01:34 AM , Processed in 0.011320 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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