tianheng 发表于 2009-12-1 10:04:48

请教lua的问题

现在有var.lua和exec.lua
其中var.lua内容为:
hp = {}

hp = 100

hp = 98

我要在在exec.lua文件中访问var.lua中的内容,我要怎么操作啊?

lzkd 发表于 2009-12-1 10:17:50

在excel.lua中一开始的地方加入这句

include "var.lua"

----

手上没有lua环境,无法测试代码,但这么写是不错的.如果运行有问题,请尝试去掉引号等
另外include前面一定不能有任何字符,包括空格,空行(也不一定要这么严格要求,但严格一点不会有坏处)

ddid 发表于 2009-12-1 11:46:26

用dofile("hp.lua")

在hp.lua中的变量不要声明为local。

ddid 发表于 2009-12-1 11:49:31

原帖由 tianheng 于 2009-12-1 10:04 发表 http://pkuxkx.com/forum/images/common/back.gif

hp = 100

hp = 98



另外,这样赋值好像有问题……

ddid 发表于 2009-12-1 11:51:35

local settings = {["id"] = "1.游戏英文id",
["passwd"] = "2.游戏密码",
["skills_basic"] = "3.要领悟的基本技能,之间用“;”隔开,例如force;sword;dodge;claw",
["skills_special"] = "4.与基本技能对应的特殊技能,用“;”隔开,例如:taiji-shengong;taiji-jian;tiyunzong;taiji-zhao",
["skills_weapon"] = "5.特殊技能使用的武器,用“;”隔开,如果空手或内功则为none,刀法为blade,杖法为gangzhang,剑法为jian,鞭法为whip,dagger为dagger,例如:none;jian;gangzhang;blade;whip;dagger"
}

参照这样赋值吧。

tianheng 发表于 2009-12-1 14:02:36

谢谢

tianheng 发表于 2009-12-1 14:03:07

lua中怎么把string转为table,谢谢!

ddid 发表于 2009-12-1 14:05:58

table.insert()

tianheng 发表于 2009-12-1 14:49:21

string.split=function(str, pat)
   local t = {} -- NOTE: use {n = 0} in Lua-5.0
   local fpat = "(.-)" .. pat
   local last_end = 1
   local s, e, cap = str:find(fpat, 1)
   while s do
      if s ~= 1 or cap ~= "" then
table.insert(t,cap)
      end
      last_end = e+1
      s, e, cap = str:find(fpat, last_end)
   end
   if last_end <= #str then
      cap = str:sub(last_end)
      table.insert(t, cap)
   end
   return t
end

tianheng 发表于 2009-12-1 14:52:00

string.split=function(str, pat)
   local t = {} -- NOTE: use {n = 0} in Lua-5.0
   local fpat = "(.-)" .. pat
   local last_end = 1
   local s, e, cap = str:find(fpat, 1)
   while s do
      if s ~= 1 or cap ~= "" then
table.insert(t,cap)
      end
      last_end = e+1
      s, e, cap = str:find(fpat, last_end)
   end
   if last_end <= #str then
      cap = str:sub(last_end)
      table.insert(t, cap)
   end
   return t
end

days = "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday"

tab = string.split(days,",")

for i,v in pairs(tab) do
   print(i,v)
end
页: [1] 2
查看完整版本: 请教lua的问题