lua中,in pairs的循环的顺序问题
lua中,in pairs的循环的顺序问题
t = {a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9}
str = ""
for i,v in pairs(t) do
x05str = str..v..","
end
print(str)
输出是
1,3,2,5,4,7,6,9,8,
怎么才能让他输出1,2,3,4,5,6,7,8,9,主要是我希望他输出的列顺序与原表中的列顺序相同
额..这已经是简化版本了,这是一个二维或者三维的table,因为多个数组使用的是一个函数来进行数组输出的功能,所以输出的函数中包含有获取元素中的列名的功能.可是输出之后就是每行数据都是这样的效果.
function player_tab_create(player_tab,number)x05x05--建立player表
x05for i = 1,number,1 do
x05x05table.insert(player_tab,{id = table.getn(player_tab)+1 ,w_times = 0 ,l_times = 0 ,w_weight = 1,pexp = 0,bexp = 0,lv = 1,groupid = 1})
x05end
x05return player_tab
end
function out_tab(tab,lnlist)x05x05x05x05--输出二维数组
x05local temp = {}
x05for _,sub in pairs(tab) dox05x05x05x05--获得列名
x05x05for k,v in pairs(sub) do
x05x05x05temp[k] = 1
x05x05end
x05end
x05if lnlist = nil then
x05x05temp = lnlist
x05end
x05local str
x05for i = 1,table.getn(tab),1 do
x05x05str = ""
x05x05for k,v in pairs(temp) do
x05x05x05if tab[i][k] == nil then
x05x05x05x05the_vaule = -1
x05x05x05else
x05x05x05x05the_vaule = tab[i][k]
x05x05x05x05str = str..k.." =t "..the_vaule..",t"
x05x05x05end
x05x05end
x05x05out(str)
x05end
end