您的位置:首页 > 编程语言 > Lua

lua脚本中表的用法

2013-08-19 10:39 363 查看
--[[ lua表处理 ]]--

alice = {}
alice[ "name" ] = "liuhui"
alice[ "phone" ] = "15157121639"
alice[ "address" ] = "杭州江干"
alice[ "city" ] = "杭州"

print( alice["name"] )
print( alice["city"] )
print( alice.city )

--[[ 采用{} 处理赋值的时候每条语句后面都有, ]]--
mytab =
{
["name"] = "liuhui",
["xingbie"] = "男",
["age"] =24,
}

mytab1 =
{
name = "xiaohui",
email = "liuhui331234958@126.com",
}

print( mytab.name )
print( mytab1.email )

--[[ 把表当作数组使用 ]]--
tab1 =
{
"abc",
"def",
"mok",
"liuhui",
}
tab2 =
{
[1] = "abc",
[2] = "def",
[3] = "mok",
}

--[[ lua中数组是从1开始计算 ]]--
--[[ print( tab1[1] ) ]]--
print("tab1打印..")
len = #tab1
for i=1, len do
print( tab1[i] )
i = i + 1
end
print("tab2打印..")
len = #tab2
for i=1, len do
print( tab2[i] )
i = i + 1
end

tab1[5] = "hehe"
print( tab1[4] )
print( tab1[5] )
--[[ 更加标准的数组添加元素做法 table.insert 如果不用第二个参数,添加到末尾 ]]--
table.insert( tab1, 6, "nihao" )
print( tab1[6] )
--[[ 从数组中删除元素table.remove,与table.insert很相似 ]]--
print( "删除tab1[1]" )
print( "删除前长度为:"..#tab1.."内容为" )
for i=1, #tab1 do
print( tab1[i] )
end

table.remove( tab1, 1 )
print( "删除后长度为:"..#tab1 )
--[[ 这里显示的是原数组中的第二个元素 ,默认向前移一位]]--
for i=1, #tab1 do
print( tab1[i] )
end

table.remove( tab1 ) --[[ 不带删除标号的删除默认为最后一个元素删除 ]]--
print( "删除后长度为:"..#tab1 )
for i=1, #tab1 do
print( tab1[i] )
end

--[[ 数组排序 ]]--

array =
{
"liuhui",
"haha",
"abc",
"zero",
}
table.sort( array )
for i=1, #array do
print( array[i] )
end

--[[ 数组中添加函数名 ]]--
function prtmsg( str )
local msg = str
return msg
end

function prttype( str )
local ret = ""
if( type(str) == "string" ) then
ret = "string"
return ret
elseif( type(str) == "double" ) then
ret = "double"
return ret
else
return ret
end
end

util = {}
util.func = prtmsg
util.type = prttype

mstr = "hello"
print( "message type:"..util.type(mstr) )
print( "message info:"..util.func("hello") )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: