国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 開發 > 綜合 > 正文

Lua學習筆記之函數、變長參數、closure(閉包)、select等

2024-07-21 23:04:36
字體:
來源:轉載
供稿:網友

1. Lua函數支持多返回值,但并不是每次調用函數返回的全部值都會被使用。

有一條規則是只有當函數調用是表達式最后一個元素時,才會使用它的全部返回值。看代碼:

 

復制代碼 代碼如下:

--string.find函數返回兩個值,:被查找子串的開始索引和結束索引 
s,e = string.find("Lua program language","Lua") 
print(s,e)  --> 1    3 
 
--如果找不到,則輸出nil和nil 
s,e = string.find("Lua program language","Lub") 
print(s,e)  -->nil   nil 
 
 
--找出數組中最大的元素和其索引 
function maximum(a) 
    local mi = 1   --最大元素索引,開始假設第一個元素就是最大元素 
    local m = a[mi] 
    for i,val in ipairs(a) do 
        if m < val then 
            mi,m = i,val 
        end 
    end 
    return mi,m 
end 
 
print(maximum{1,2,10,4,5,7}) --> 3   10 
 
--返回多個值的函數只有作為表達式最有一個元素時才能使用它返回的多個值 
--否則只取第一個值 
 
 
--定義一個返回兩個值的函數 
function foo() return "a","b" end 
 
--foo()在表達式最后,使用了他返回的兩個值 
a,b = foo()  -->a    b 
print(a,b) 
 
--foo()出現在表達式中間, 只使用了她返回的第一個值 
a,b,c = foo(),"c" 
print(a,b,c)   -->a  c   nil 
 
--使用了函數返回的兩個結果 
print(foo())  -->a   b 
 
--把函數調用放在括號中間, 迫使函數只返回的一個結果 
print((foo()))  --> a 

2. 函數支持變長參數:...
如果變長參數中沒有nil,那么可以使用ipairs(...)來遍歷得到所有的參數.

 

如果參數中有nil,那么就只能使用select()函數了. 因為ipairs只能遍歷到nil處.

 

復制代碼 代碼如下:

--變長參數 
 
 
--使用變長參數完成對nunmber列表求和 
function add(...) 
    local sum = 0 
    for i,v in ipairs(...) do 
        sum = sum + v 
    end 
    return sum 
end 
 
print(add{1.1,2.2,3.3,4.4,nil,6,8}) -->11   說明nil后面的6,8都沒有遍歷到 
 
 
--如果變長參數中故意傳入nil 
--那么就要使用select函數來訪問變長參數列表了. 
--select得以參數如果傳入的是整數n, 返回的是第i個元素開始到最后一個元素結束的列表 
--如果傳入的是"#",則返回參數列表的總長度 
 
function add2(...) 
    local sum = 0 
    local arg 
    for i=1,select('#',...) do 
 
        --從輸出結果可見,select(i,...)  返回的是第i個元素開始到最后一個元素結束的列表 
        print(select(i,...))    -->2 4   6   nil 5   8 
                                -->4 6   nil 5   8 
                                -->6 nil 5   8 
                                -->nil   5   8 
                                -->5 8 
                                -->8 
 
        --只取列表的第一個值 
        arg = select(i,...) 
        if arg then 
            sum = sum + arg 
        end 
 
    end 
    return sum 
end 
print(add2(2,4,6,nil,5,8)) -->25   說明nil后邊的值都遍歷到了 

3.closure(閉包)

 

我的理解是:使得內部函數能夠調用外部函數的局部變量,而且在外部函數調用結束后仍然能使用外部函數的局部變量.而每次調用外部函數的會重新創建一個closure,而且以前的不會消失.這里不禁產生一個疑問:closure在什么時候釋放?

 

復制代碼 代碼如下:

-- closure的特性 
 
function newCounter() 
    local i = 0 
    return function() 
        i = i + 1 
        return i 
    end 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
91xx在线观看| 尤物在线网址| 2020国产在线视频| 国产成人精品综合网站| 中文日本在线观看| 欧美性猛交xxxx免费看蜜桃| 欧美色第一页| 国产探花视频在线观看| 91这里只有精品| 青青艹在线视频| 免费在线黄色av| 国产一级粉嫩xxxx| 亚洲视频网站在线| 国产午夜视频| 一级二级三级在线观看| 国产免费av网站| www.大网伊人| 精品伦理一区二区| 国产卡1卡2卡三卡在线| 午夜亚洲成人| 精品偷拍激情视频在线观看| 国产在线观看18| 亚洲欧美小说国产图片| 国产一级性片| 国产在线免费观看| 在线观看av网站永久| 国产婷婷视频在线| 国产美女被遭强高潮免费网站| 亚洲免费国产| 精品全国在线一区二区| 国产毛片视频| 国产免费福利网站| 黄色三级视频在线观看| 欧美精品一区二区三区免费| av福利在线观看| 97一区二区三区| 国产精品久久人| 国产精品入口麻豆完整版| 久久一本精品| 国产鲁鲁视频在线观看免费| 日本动漫理论片在线观看网站| 18 激情视频在线| 中文字幕高清av| 午夜视频在线观看网站午夜视频在线| 男女羞羞视频在线观看| 国产尤物一区二区三区| 成在线人视频免费视频| 狠狠操天天操夜夜操| 大香伊人久久| 国产精品久久久久永久免费看| 国产天堂素人系列在线视频| 国产三级视频在线播放线观看| 最新国产在线精品91尤物| 国产一卡二卡3卡4卡四卡在线| 国产小视频在线观看| √天堂中文在线| 国产wwww| 另类综合图区| 国产污污在线观看| 亚洲日本伊人| 国产美女高潮| 亚洲欧美国产另类首页| 黄色一级片视频| 国产欧美日韩精品综合| 一本大道五月香蕉| 国产精品一卡二卡三卡| 伊人中文字幕在线| 国产免费av网站| av免费在线免费| 国产网友自拍电影在线| 一区二区精品区| 国内自拍视频在线看免费观看| 国产大学生粉嫩无套流白浆| 思思99精品视频在线观看| 国产无遮挡在线视频免费观看| 日本综合一区二区三区| 最新黄网在线观看| 久久久久国产精品嫩草影院| 国产爆初菊在线观看免费视频网站 | 九色在线网站| 精品美女视频在线观看免费软件| www在线播放| 国产三级视频| 国产中文在线视频| 日本亚洲精品| 在线观看电影av| 97视频网站| 国产黄在线观看| 天堂资源最新版在线视频观看免费网| 亚洲国产精华液| 香蕉视频在线观看www| 国产第一页在线| 中文字幕国产视频| 天天操天天射天天插| 蜜桃视频中文字幕| www在线观看播放免费视频日本| 在线中文av| 国产l精品国产亚洲区在线观看| 中文字幕乱在线伦视频乱在线伦视频| 久久精品国产麻豆| 国产美女在线一区二区三区| 福利在线观看| 国产无遮挡又黄又爽免费软件| 中文字幕在线影视资源| 国产一区二区三区四区尤物| 最近中文字幕大全中文字幕免费 | 国产精品视频流白浆免费视频| 国产精品㊣新片速递bt| 国产女呦网站| 亚洲电影视频在线| jizz性欧美| 免费国产视频| 黄色国产网站在线播放| 国产麻豆免费| 国产对白国语对白| 亚洲午夜久久久久中文字幕| 久草在线视频网| 福利视频在线看| 国产丝袜在线播放| 在线亚洲不卡| www在线视频观看| 天天操人人爽| 97在线超碰| 九九热在线观看视频| 国产三级在线| www.av在线视频| 国产专区在线播放| 国产精品理人伦一区二区三区| av手机免费观看| 天堂在线免费av| 色欧美在线观看| 国产三级自拍| 免费黄网站在线观看| 国产视频精品久久| 性网站在线播放| 国产黄色网页| 亚洲日本一区二区三区在线观看| 粉嫩av一区| 亚洲xxxxxx| 国产成+人+亚洲+欧美+综合| 国产在线麻豆精品| 香蕉视频网站在线观看| 国产激情自拍视频| 国产麻豆综合视频在线观看| xxxxx中文字幕| 在线观看电影av| 精品一区二区在线欧美| 国产主播福利在线| 亚洲欧美国产另类首页| 91美女主播在线视频| 国产视频xxx| 自拍av在线| 国产在线高潮| 国产免费av网站| 福利视频在线看| 黄色片av在线| 久久精品亚洲7777影院| 白浆爆出在线观看| 青青九九免费视频在线| 亚洲社区在线| 四虎国产精品永久| 亚洲欧美精品日韩欧美| 尤物视频在线观看视频| 91美女在线| 夜夜嗨yeyeh| av网址在线看| 青青草视频在线观看| 黄网在线免费| 国产午夜精品一区理论片| 国产精品免费视频一区一| 国产第一页在线视频| 国产成人精品综合网站| 亚洲天堂视频在线观看免费| а√最新版在线天堂| 青青草观看免费视频在线| 免费高清av| 国产亚洲精品久久久网站好莱| 国产精品四虎| 18av在线视频| 九九热在线观看| 国产丝袜精品丝袜| 亚洲精品xxxxx| 国产在线高潮| 精品视频麻豆入口| 黄色av免费在线| 国产对白在线| 免费黄色网页在线观看| 国产精美视频| 免费黄色网页在线观看| 国产精品久久久高清免费| 日本不卡1区2区3区| 国产一区二区三区不卡在线| 在线观看精品视频一区二区三区 | 国产黄a三级三级三级av在线看| 精品美女视频在线观看免费软件| 欧美亚洲另类在线观看| 91社区在线观看| 国产一级二级三级在线观看| 一本久久精品| 精品一区二区三区在线观看l|