婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Lua table類型學習筆記

Lua table類型學習筆記

熱門標簽:清朝地圖標注哈爾濱 冀州市地圖標注 漳州智云呼電話機器人 新岸線智能電銷機器人 武漢外呼防封系統多少錢 地圖標注大廈 百度地圖標注早餐區域 怎么去除地圖標注 個人怎么在地圖標注需要的店鋪

關系表類型,這是一個很強大的類型。我們可以把這個類型看作是一個數組。只是 C語言的數組,只能用正整數來作索引; 在Lua中,你可以用任意類型的值來作數組的索引,但這個值不能是 nil。同樣,在C語言中,數組的內容只允許一種類型;在 Lua中,你也可以用任意類型的值來作數組的內容,nil也可以。

基本介紹

注意三點:
    第一,所有元素之間,總是用逗號 "," 隔開;
    第二,所有索引值都需要用 "["和"]" 括起來;如果是字符串,還可以去掉引號和中括號; 即如果沒有[]括起,則認為是字符串索引
    第三,如果不寫索引,則索引就會被認為是數字,并按順序自動從 1往后編;

例如:

復制代碼 代碼如下:

tt = {"hello" ,33}
value = 4
tab = {[tt] = "table",key = value, ["flag" ] = nil, 11}

print(tab[tt])
print(tab.key)
print(tab[1 ])


以上寫法都是對的。

look = {[www] = "ok"}這樣是不對的,www沒有賦值,所以默認為nil因此出錯table index is nil

復制代碼 代碼如下:

---
temp = 1
tab = {[temp] = 1, 11}

print(tab[temp]) --此時的結果是11,因為11沒有顯式對應的key,因此從1開始,如果前面定義了,則覆蓋其value
復制代碼 代碼如下:

---
temp = 2
tab = {[temp] = 1, 11}
temp = 1

print(tab[temp]) -- 結果是11,雖然定義時[temp] = 1,但是后來我們改變了temp的值,所以指向另外的key了


以上可知:

1.對于字符串,在{}定義時,可以key = value, 也可以["flag"] = nil,索引都是string類型,對于非nil類型變量(包括字符串),都可以[variable]=value的方式
2.使用table時,對于字符串,可以通過.的方式訪問,也可以通過[]方式訪問。tab[a],tab[b],只要a==b那么tab[a]可以訪問到tab[b]的值
3.不管定義索引時用的是常量還是變量,最終table中value的索引key是常量,不會隨變量的改變而變化該value的key

嵌套

復制代碼 代碼如下:

tb11= {tb12 = {bool = true}} -- simple, it's a table IN a table :)
-- Call magic!
print(tb11.tb12.bool ) -- works fine, since it's calling the key and value correctly.
print(tab11["tb12" ].bool ) --same as line 33
print(tab11.tb12 ["bool"]) --same as line 33
print(tab11["tb12" ]["bool"]) --same as line 33

修改table的value
復制代碼 代碼如下:

--Altering a table's content. Basically manipulating the values of the keys.
lucky= {john="chips" ,jane ="lemonade",jolene="egg salad" }

lucky.jolene = "fruit salad" --changed the value to "fruit salad" instead of "egg salad"
lucky.jerry = "fagaso food" -- adding a new key-value pair to the container lucky.
lucky.john = nil -- remove john from giving anything or from being a key.

table的易變性

復制代碼 代碼如下:

a = {}; b = a;
print(a == b)  --> true

c,d = {},{};

print(c == d) -->false

table庫函數使用
-----------------------------------------------------------
1. table.sort (table [, comp])
Sorts table elements in a given order, in-place, from table[1] to table[n], where n is the length of the table. If comp is given, then it must be a function that receives two table elements, and returns true when the first is less than the second (so that not comp(a[i+1],a[i]) will be true after the sort). If comp is not given, then the standard Lua operator is used instead.
The sort algorithm is not stable; that is, elements considered equal by the given order may have their relative positions changed by the sort.

復制代碼 代碼如下:

name = {"you" ,"me", "him","bill" }
--table.sort - only works with arrays!
table.sort(name)
for k, v in ipairs( name) do
     print( k,v)
end
--table.sort uses callbacks. a function that is writtent to be called by a library function.
function cmp( a, b)
     if string.sub(a,2 ,2) string.sub(b,2 ,2) then
          return true
     else
          return false
     end
end

table.sort(name, cmp)
for k, v in ipairs( name) do
     print( k,v)
end

2. table.insert (table, [pos,] value)

Inserts element value at position pos in table, shifting up other elements to open space, if necessary. The default value for pos is n+1, where n is the length of the table so that a call table.insert(t,x) inserts x at the end of table t.

復制代碼 代碼如下:

--table.insert --an easy to copy a table to another table or adding elements to an array.!
foo = {"a" ,"c", "d"}
bar = {}
function printt( table)
    for i=1 ,#table do
         print(i,table [i ])
    end
end
print("before insert:" )
printt(foo)
table.insert(foo,2 ,"b")
print("after insert" )
printt(foo)

3.  table.concat (table [, sep [, i [, j]]])

Given an array where all elements are strings or numbers, returns table[i]..sep..table[i+1] ··· sep..table[j]. The default value for sep is the empty string, the default for i is 1, and the default for j is the length of the table. If i is greater than j, returns the empty string.

復制代碼 代碼如下:

--table.concat does what it implies. Takes an array and concates to one string.
num = {1 ,2, 3,4,5 ,6}
print(table.concat (num ,""))

4. table.remove (table [, pos])

Removes from table the element at position pos, shifting down other elements to close the space, if necessary. Returns the value of the removed element. The default value for pos is n, where n is the length of the table, so that a call table.remove(t) removes the last element of table t.

復制代碼 代碼如下:

abc = {"a" ,"b", "c"}
print(table.remove (abc ,2))
print("abc length = " .. #abc)

5. table.maxn (table)

Returns the largest positive numerical index of the given table, or zero if the table has no positive numerical indices. (To do its job this function does a linear traversal of the whole table.)
--table.maxn

復制代碼 代碼如下:

apple = {"a" ,"p",[ 5]="e"}
print(table.maxn (apple )) -- 5

duck = {[-2 ]=3,[- 1]=0}
print(table.maxn (duck )) -- 0

面向對象編程

復制代碼 代碼如下:

--note for a object to work, it needs a closure(inner function with an upvalue(a local value from a higher scope))
--note: the more closures made, the slower the program would run.
function mg1( n)
    local function get ()
         return n ;
    end
    local function inc (m )
        n = n +m ;
    end
    return {get = get, inc= inc}
end

object = mg1(50 )
print(object.get ())
print(object["get" ]())

object.inc(2 )
print(object.get ())

----------------------------------------
do
    local function get (o )
         return o.one
    end
    local function inc (self , two )
        self.one = self.one + two
    end
    function mg3 (one )
         return {one = one , get = get , inc = inc }
    end
end
a = mg3(50 )
a:get()
a.inc(a,2 )
print(a:get())

----------------------------------------
do
    local T = {};
    function T:get()
         return self.n ;
    end
    function T:inc(m)
        self.n = self.n + m ;
    end
    function mg4 ( n )
         return {n = n , get =T.get , inc =T.inc }
    end
end

c = mg4(30 )
print(c:get())
c:inc(4 )
print(c:get())

(完)

您可能感興趣的文章:
  • Lua中對table排序實例
  • Lua中table的一些輔助函數介紹
  • Lua table簡明總結
  • Lua中的metatable詳解
  • Lua中table庫函數方法介紹
  • Lua中的table學習筆記

標簽:金昌 德宏 天門 宣城 濰坊 臺灣 天門 儋州

巨人網絡通訊聲明:本文標題《Lua table類型學習筆記》,本文關鍵詞  Lua,table,類型,學習,筆記,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua table類型學習筆記》相關的同類信息!
  • 本頁收集關于Lua table類型學習筆記的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人免费毛片app| 日日摸夜夜添夜夜添国产精品 | 视频一区二区三区入口| 亚洲视频中文字幕| 国产精品色呦呦| 国产精品乱人伦| 国产精品黄色在线观看 | 91精彩视频在线| 91免费版pro下载短视频| 99免费精品视频| 91小视频免费看| 97精品视频在线观看自产线路二 | 一区二区三区不卡视频| 1024精品合集| 午夜电影网一区| 久久国内精品自在自线400部| 捆绑变态av一区二区三区| 久草精品在线观看| 国产一区二区三区四区在线观看| 国产精品一二二区| 99久久精品情趣| 在线免费观看日本欧美| 8x8x8国产精品| 久久综合999| 依依成人综合视频| 免费日韩伦理电影| 不卡的电视剧免费网站有什么| 99久久精品情趣| 777xxx欧美| 国产精品毛片久久久久久久| 亚洲成a人在线观看| 国产一区二区福利| 日本高清不卡一区| 精品少妇一区二区三区视频免付费| 国产三级精品在线| 亚洲福利电影网| 国产不卡视频一区| 欧美精品xxxxbbbb| 国产精品精品国产色婷婷| 丝袜诱惑亚洲看片| www.久久精品| 精品国产乱码久久久久久1区2区| 亚洲视频1区2区| 国产成人自拍网| 欧美狂野另类xxxxoooo| 国产精品不卡视频| 极品美女销魂一区二区三区免费| 色8久久人人97超碰香蕉987| 久久精品欧美日韩精品| 天堂成人国产精品一区| 色综合久久综合中文综合网| 国产三级一区二区三区| 日韩av成人高清| 欧美性猛交xxxxxxxx| 国产精品丝袜一区| 国产一区二区三区最好精华液| 欧美精品一二三四| 亚洲女人小视频在线观看| 国产精品系列在线播放| 日韩一区二区三| 无吗不卡中文字幕| 欧洲av在线精品| 亚洲乱码国产乱码精品精98午夜| 国产精品一区三区| 精品国产百合女同互慰| 麻豆国产欧美一区二区三区| 欧美丰满少妇xxxxx高潮对白| 亚洲欧美日韩中文字幕一区二区三区| 国产传媒欧美日韩成人| 国产亚洲欧美日韩俺去了| 激情文学综合丁香| 精品国产乱码久久久久久闺蜜| 日韩av中文在线观看| 欧美一区二区人人喊爽| 奇米色一区二区| 日韩精品一区在线观看| 蜜桃在线一区二区三区| 精品久久久久久久久久久久久久久久久| 亚洲图片有声小说| 欧美性猛片aaaaaaa做受| 亚洲一区二区三区在线| 欧美日韩国产美| 亚洲高清在线精品| 9191国产精品| 国内外成人在线视频| 欧美va日韩va| 成人黄色一级视频| 亚洲美女偷拍久久| 欧美久久一区二区| 理论电影国产精品| 久久精品视频网| 99久久精品国产观看| 亚洲国产另类精品专区| 日韩一区二区三区在线视频| 国产精品性做久久久久久| 国产精品乱码妇女bbbb| 91福利在线观看| 日韩一区欧美二区| 久久久久久久综合色一本| 成人免费看片app下载| 亚洲精品国久久99热| 欧美日韩视频专区在线播放| 极品少妇xxxx精品少妇偷拍| 国产精品久久久久影院老司| 欧美性大战xxxxx久久久| 另类调教123区| 中文字幕亚洲电影| 欧美一区二区在线播放| 国产成人精品午夜视频免费| 亚洲国产综合人成综合网站| 精品久久国产字幕高潮| 91黄色激情网站| 经典三级一区二区| 一区二区三区精密机械公司| 26uuu国产一区二区三区| 欧美中文字幕不卡| 国产精品系列在线观看| 婷婷丁香久久五月婷婷| 国产精品福利一区二区| 欧美一级一级性生活免费录像| 成人黄色电影在线| 美女看a上一区| 亚洲精品日韩综合观看成人91| 日韩精品专区在线| 欧美视频在线观看一区二区| 成人app软件下载大全免费| 久久综合综合久久综合| 亚洲一区二区av电影| 国产日韩v精品一区二区| 制服丝袜成人动漫| 91传媒视频在线播放| av亚洲精华国产精华| 精品一区二区在线视频| 五月婷婷色综合| 国产精品麻豆网站| 国产校园另类小说区| 欧美mv和日韩mv的网站| 日韩美一区二区三区| 欧美四级电影在线观看| 色狠狠色狠狠综合| aaa国产一区| 91年精品国产| 色综合久久六月婷婷中文字幕| 国产成人丝袜美腿| 国内国产精品久久| 国产一区二区三区在线观看免费视频| 亚洲va国产天堂va久久en| 夜夜揉揉日日人人青青一国产精品| 国产精品嫩草久久久久| 自拍偷拍国产精品| 亚洲欧美另类小说视频| 亚洲综合av网| 亚洲va韩国va欧美va精品| 天堂va蜜桃一区二区三区漫画版| 亚洲成人手机在线| 日韩国产精品久久| 久久99国产精品麻豆| 国产一区91精品张津瑜| 国产美女主播视频一区| 国产一区二区三区视频在线播放| 卡一卡二国产精品| 国产大陆精品国产| 99视频精品在线| 欧美性一二三区| 日韩一区二区三区精品视频| 精品成人免费观看| 久久精品亚洲精品国产欧美 | 五月激情综合婷婷| 免费看黄色91| 国产一区不卡在线| 99精品欧美一区二区蜜桃免费| 欧美视频一区二区三区| 欧美一区二区久久久| 久久只精品国产| 亚洲男同1069视频| 日韩激情中文字幕| 国产麻豆精品95视频| 91丨九色丨黑人外教| 欧美一区二区三区在| 国产女同互慰高潮91漫画| 亚洲精品水蜜桃| 九九**精品视频免费播放| 97aⅴ精品视频一二三区| 欧美亚洲一区二区三区四区| 精品国产亚洲一区二区三区在线观看| 国产精品色婷婷久久58| 同产精品九九九| 国产**成人网毛片九色| 欧美视频日韩视频在线观看| 久久久久久久精| 日韩黄色免费电影| 成人18精品视频| 日韩欧美成人一区二区| 亚洲免费观看高清完整版在线| 久久99精品久久久久| 欧美日韩精品一区二区在线播放| 国产日韩成人精品| 麻豆精品一区二区三区| 在线免费观看不卡av| 中文字幕欧美区|