日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

lua 求table长度和判断空

發(fā)布時(shí)間:2024/2/28 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lua 求table长度和判断空 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?? local table_a = {}


??? 判斷一:(錯(cuò)誤方法)
??? if table_a == {} then
??????? --你會(huì)發(fā)現(xiàn)你怎么也進(jìn)不來(lái) 條件判斷始終返回false,為什么會(huì)這樣呢?
??????? --原因:{}相當(dāng)于創(chuàng)建了一個(gè)表,只不過(guò)這個(gè)表的名字是匿名的,你看不到,我們假設(shè)它叫table_b
??????? --你會(huì)發(fā)現(xiàn)判斷條件變成了比較table_a、table_b的內(nèi)存地址。所以條件判斷始終返回false。
??????? --正確的實(shí)現(xiàn)方法:判斷二??
??? end

?

??? 判斷二:(正確方法)

??????????? if next(table_a) == nil then
??????????????? --你想實(shí)現(xiàn)的操作
??????????? end

??????????? --成功原因:next獲取表中的下一個(gè)內(nèi)容,在空表里是沒(méi)有下一個(gè)內(nèi)容的,返回nil

//怎么求table的長(zhǎng)度呢

獲取數(shù)組的長(zhǎng)度

對(duì)于一個(gè)數(shù)組我們通??梢允褂?和table.getn來(lái)獲取其長(zhǎng)度

  • tabletest = {1,2,3,5,7}

  • print(table.getn(tabletest)) ------》5

  • print(#tabletest) ------》5

    • 1
    • 2
    • 3

    使用這兩種方法都能得到這個(gè)數(shù)組的長(zhǎng)度,但是如果

  • tabletest = {1,2,nil,3,5,7}

  • print(table.getn(tabletest)) ------》2

  • print(#tabletest) ------》2

    • 1
    • 2
    • 3

    發(fā)現(xiàn)不能獲得我們數(shù)組真正的長(zhǎng)度,這是因?yàn)閿?shù)組默認(rèn)遇到nil便被判斷為數(shù)組結(jié)束,所以最好不要用#和table.getn來(lái)獲取包含有nil的數(shù)組長(zhǎng)度

    獲取table的長(zhǎng)度

    對(duì)于table來(lái)說(shuō),如果他不是數(shù)組,我們使用#和table.getn是不能獲取它的長(zhǎng)度的

  • tabletest = {a=1,b=2,c=3,e=5,f=7}

  • print(table.getn(tabletest)) ------》0

  • print(#tabletest) ------》0

    • 1
    • 2
    • 3

    我們可以使用pairs來(lái)獲取?

  • tabletest = {a=1,b=2,c=3,d=5,e=7}

  • local count=0

  • for k,v in pairs(tabletest) do

  • count = count + 1

  • end

  • print(count) ------》5

  • 注意#只能獲取索引為連續(xù)數(shù)字的長(zhǎng)度,如果不連續(xù),只能獲取到連續(xù)的地方,其他地方被舍棄

    總結(jié)

    以上是生活随笔為你收集整理的lua 求table长度和判断空的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。