国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Lua - Lua編程示例(三):稀疏表、雙端隊列、格式化輸出、表和循環表的格式化輸出

Lua編程示例(三):稀疏表、雙端隊列、格式化輸出、表和循環表的格式化輸出

2020-05-06 10:31腳本之家 Lua

這篇文章主要介紹了Lua編程示例(三):稀疏表、雙端隊列、格式化輸出、表和循環表的格式化輸出,本文直接給出實例代碼,代碼中包含詳細注釋,需要的朋友可以參考下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
a={}
for i=1,10 do
 a[i]={}
 for j=0,10 do
 if(i%2==0) then
  a[i][j]=0
 end
 end
end
 
print(a[9][10])
print(a[10][10])
print()
 
--雙端隊列
 
List={}
 
function List.new()
 return {first = 0,last = -1}
end
 
function List.pushleft(list,value)
 local first= list.first-1
 list[first] = value
 list.first= first
end
 
function List.pushright(list,value)
 local last = list.last+1
 list[last]= value
 list.last=last
end
 
function List.popleft(list)
 local first=list.first
 if(first>list.last) then
 error("list is empty")
 end
 local res= list[first]
 list[first]=nil
 list.first=list.first+1
 return res
end
 
function List.popright(list)
 local last = list.last
 if last<first then
 error("the list is empty")
 end
 local res = list[last]
 list[last]= nil
 list.last= list.last-1
 return res
end
 
function List.display(list)
 if(list.first>list.last) then
 error("the list is empty",2)
 end
 for i=list.first ,list.last do
 print(list[i])
 end
end
 
mylist=List.new()
List.pushleft(mylist,12)
List.pushleft(mylist,"00")
List.pushright(mylist,34)
List.pushright(mylist,56)
List.display(mylist)
print()
 
function newStack ()
 return {""}
end
 
 
function serialize(o)
 if type(o) == "number" then
 io.write(o)
 elseif type(o) == "string" then
  --不要手動加入引號,否則會有邊際效應
 io.write(string.format("%q",o))
 elseif type(o) == "table" then
 io.write("{\n")
 for i,v in pairs(o) do
  io.write("  "..i.." = ")
  serialize(v)
  io.write(",\n")
 end
 io.write("}\n")
 end
end
 
serialize(123)
print()
serialize("112233")
print()
tab = { a=11,haha="www" ,c=333}
serialize(tab)
 
function basicSerialize (o)
 if type(o) == "number" then
  return tostring(o)
 else
  return string.format("%q", o)
 end
end
 
function save (name, value, saved)
 saved = saved or {}  -- 參數未傳入的初始化
 io.write(name, " = ")
 if type(value) == "number" or type(value) == "string" then
 io.write(basicSerialize(value), "\n")
 elseif type(value) == "table" then
 if saved[value] then
  io.write(saved[value], "\tcircle\n")
 else
  saved[value] = name
  io.write("{}\n")
  for k,v in pairs(value) do
   local fieldname = string.format("%s[%s]", name,
    basicSerialize(k))
   save(fieldname, v, saved)
  end
 end
 else
 error("cannot save a " .. type(value))
 end
end
 
a = {x=1, y=2; {3,4,5}}
a[2] = a  -- 循環表
a.z = a[1]  -- 共享子表
 
save('a',a)

運行結果:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
nil
0
 
00
12
34
56
 
123
"112233"
{
  a = 11,
  c = 333,
  haha = "www",
}
a = {}
a[1] = {}
a[1][1] = 3
a[1][2] = 4
a[1][3] = 5
a[2] = a circle
a["y"] = 2
a["x"] = 1
a["z"] = a[1] circle

延伸 · 閱讀

精彩推薦
  • Lua深入探究Lua中的解析表達式

    深入探究Lua中的解析表達式

    這篇文章主要介紹了深入探究Lua中的解析表達式,對于其語法部分的說明和示例都超詳細,極力推薦此文!需要的朋友可以參考下 ...

    腳本之家3542020-05-05
  • LuaLua中計算、執行字符串中Lua代碼的方法

    Lua中計算、執行字符串中Lua代碼的方法

    這篇文章主要介紹了Lua中計算、執行字符串中Lua代碼的方法,類似JavaScript中eval函數的功能,在Lua中也可以實現,需要的朋友可以參考下 ...

    腳本之家6322020-04-30
  • LuaLua教程(二):基礎知識、類型與值介紹

    Lua教程(二):基礎知識、類型與值介紹

    這篇文章主要介紹了Lua教程(二):基礎知識、類型與值介紹,本文講解了Hello World程序、代碼規范、全局變量、類型與值等內容,需要的朋友可以參考下 ...

    腳本之家5922020-04-28
  • LuaLua簡介、編譯安裝教程及變量等語法介紹

    Lua簡介、編譯安裝教程及變量等語法介紹

    這篇文章主要介紹了Lua簡介、編譯安裝教程及變量等語法介紹,本文同時講解了lua注釋語法、Lua命令行方式等內容,需要的朋友可以參考下 ...

    junjie3632020-04-14
  • LuaLua中的元方法__newindex詳解

    Lua中的元方法__newindex詳解

    這篇文章主要介紹了Lua中的元方法__newindex詳解,本文講解了查詢與更新、監控賦值、通過table給另一個table賦值等內容,需要的朋友可以參考下 ...

    笨木頭8872020-04-09
  • LuaLua實現__add方法重載示例

    Lua實現__add方法重載示例

    這篇文章主要介紹了Lua實現__add方法重載示例,本文直接給出實現代碼,需要的朋友可以參考下 ...

    腳本之家7452020-04-24
  • LuaLua中table庫函數方法介紹

    Lua中table庫函數方法介紹

    這篇文章主要介紹了Lua中table庫函數方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下 ...

    腳本之家2502020-04-17
  • LuaLua和C語言的交互詳解

    Lua和C語言的交互詳解

    這篇文章主要介紹了Lua和C語言的交互詳解,Lua和C語言通過棧完成交互,本文結合代碼實例詳細講解了交互的方法,需要的朋友可以參考下 ...

    果凍想3702020-04-14
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日韩欧美在线视频 | 久久综合九色综合网站 | 午夜剧 | 超碰91在线 | av最新在线 | 日韩欧美在线观看 | 欧美视频免费 | 探花av在线 | eeuss国产一区二区三区四区 | 日韩精品极品视频在线观看免费 | 日韩欧美专区 | 欧美在线高清 | 欧美一区二区三 | 在线观看亚洲一区二区三区 | 久久亚洲国产精品日日av夜夜 | 99国产在线 | 国产日韩精品一区 | 亚洲综合视频在线 | 亚洲免费观看 | 亚洲综合一区在线观看 | 狠狠搞狠狠操 | 在线a∨ | 日韩欧美精品 | 国产精品不卡av | 亚洲视频免费在线观看 | 久久成人av| 欧美国产精品一区二区三区 | 一区二区日韩精品 | 久久久精品视频国产 | 日本欧美国产 | 精品欧美 | 国产精品久久久久久久久久久久久久 | av成人免费 | 欧美日本在线观看 | 97色婷婷成人综合在线观看 | 欧美一区视频 | 国产精品区二区三区日本 | 国产精品亚洲第一区在线暖暖韩国 | 国产一区二区精品 | 欧美在线网站 | 国产精品高清在线 |