cying 发表于 2010-11-21 17:43:37

mush变量问题

关于表变量(应该是这个叫法吧)的问题
比如我想建立一个表变量如下
姓名年龄职业
张三   18    工人
李四   20   农民
王二33    医生
....
在lua中应该如何写,如何调用呢?

[ 本帖最后由 cying 于 2010-11-21 05:44 PM 编辑 ]

ddid 发表于 2010-11-21 17:49:37

local table = {
      {["姓名"]="张三", ["年龄"]=18, ["职业"]="工人"},
      {["姓名"]="李四", ["年龄"]=20, ["职业"]="农民"},
      {["姓名"]="王五", ["年龄"]=30, ["职业"]="医生"},
       }

cying 发表于 2010-11-21 17:57:58

我想要预设几个不同的表就可以用全局变量
表1= {
      {["姓名"]="张三", ["年龄"]=18, ["职业"]="工人"},
      {["姓名"]="李四", ["年龄"]=20, ["职业"]="农民"},
      {["姓名"]="王五", ["年龄"]=30, ["职业"]="医生"},
       }
表2={...}
......
然后需要用任何一个赋值
local 表=表1
local 姓名=表.姓名
就把“张三”赋值给临时变量姓名了吧

lzkd 发表于 2010-11-21 18:01:32

在整理资料,没直接测试,不过,
1 全局变量不需要用local吧
2 lua中数组的下标是从1开始的,应该是姓名=表.姓名

cying 发表于 2010-11-21 18:03:56

还有一个问题
假如我在一个function中定义了一个临时变量,并给他赋了值,当我第二次调用这个function时上次赋的值还存在吗?

cying 发表于 2010-11-21 18:06:19

原帖由 lzkd 于 2010-11-21 06:01 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
在整理资料,没直接测试,不过,
1 全局变量不需要用local吧
2 lua中数组的下标是从1开始的,应该是姓名=表.姓名
oh知道了,我预设的表是全局的但是根据不同的情况调用不同的表
hehe

littleknife 发表于 2010-11-21 18:21:30

原帖由 cying 于 2010-11-21 06:03 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
还有一个问题
假如我在一个function中定义了一个临时变量,并给他赋了值,当我第二次调用这个function时上次赋的值还存在吗?

用local 的时候只能在函数内部使用。如果你不定义为local。第二次调用会保存上一次的赋值。
页: [1]
查看完整版本: mush变量问题