请教lua的问题
现在有var.lua和exec.lua其中var.lua内容为:
hp = {}
hp = 100
hp = 98
我要在在exec.lua文件中访问var.lua中的内容,我要怎么操作啊? 在excel.lua中一开始的地方加入这句
include "var.lua"
----
手上没有lua环境,无法测试代码,但这么写是不错的.如果运行有问题,请尝试去掉引号等
另外include前面一定不能有任何字符,包括空格,空行(也不一定要这么严格要求,但严格一点不会有坏处) 用dofile("hp.lua")
在hp.lua中的变量不要声明为local。 原帖由 tianheng 于 2009-12-1 10:04 发表 http://pkuxkx.net/forum/images/common/back.gif
hp = 100
hp = 98
另外,这样赋值好像有问题…… 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"
}
参照这样赋值吧。 谢谢 lua中怎么把string转为table,谢谢! table.insert() 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 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