日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > Lua函數(shù)的多個返回值

Lua函數(shù)的多個返回值

來源:程序員人生   發(fā)布時間:2016-10-22 13:59:41 閱讀次數(shù):3785次
        C++和Java 中return都不允許返回多個值。Lua中的函數(shù)的1個很特殊也很有用的性質,便可以有多個返回值。包括1些內置的函數(shù)就是這樣。比如string.find函數(shù),在給定的字符串中查找1個pattern,如果有匹配的部份,則返回對應的頭、尾的兩個索引值;如果不存在匹配,則返回nil。固然,用戶定義的函數(shù)也能夠有多個返回值,通過return關鍵字返回多個結果便可。比如1個返回數(shù)組中最大值及其索引的函數(shù):
function max(a) local m = a[1]; local mIndex = 1; for i,v in ipairs(a) do if v>m then m = v; mIndex = i; end end return m,mIndex; end
 通常情況下,Lua會根據(jù)函數(shù)調用的不同情況自動調劑返回值的有效個數(shù)。主要有以下幾種情況:
       1. 如果函數(shù)調用作為1個單獨的語句,比如max({1,2,3}),則疏忽所有的返回值;
       2. 如果調用途在1串的表達式中:
           1)如果處于表達式串的首位或中間,則只有第1個返回值被返回;
           2)如果處于最后1個表達式,則所有的返回值都有效;
       拿下面3個函數(shù)作為例子:
function f0() end; function f1() return "a" end function f2() return "a","b" end
        在多重賦值中,如果函數(shù)調用作為唯一的或最后1個表達式,則返回盡量多的值來匹配左側的變量,如果多出,自動疏忽;如果不夠,賦為nil。比如,
x = f1() --x="a","b"被疏忽 x,y = f1() --x="a",y="b" x,y,z = f2() --x="a",y="b",z=nil x,y,z = 10,f2() -- x=10, y="a", z="b" x,y,z = f2(),10 -- x="a", y=10, z=nil, f2只返回1個值
同理, 作為另外一個函數(shù)的參數(shù)時,規(guī)則1樣:
print(f2()) --> a b print(f2(), 1) --> a 1 還有用來構造數(shù)組時: [plain] view plain copy t = {f2()} -- t = {"a", "b"} t = {f0(), f2(), 4} -- t[1] = nil, t[2] = "a", t[3] = 4
        最后,當函數(shù)返回值作為另外一個函數(shù)的返回值被返回時,則全部被返回。如果想強迫只返回1個值 ,則可以用括號 "()" 把表達式括起來便可。比如:
function foo (i) if i == 0 then return foo0() elseif i == 1 then return foo1() elseif i == 2 then return foo2() end end [plain] view plain copy print(foo(1)) --> a print(foo(2)) --> a b print(foo(0)) -- (無返回值) print(foo(3)) -- (無返回值)
如果想強迫只返回1個值,則可以用括號 "()" 把表達式括起來便可:
print((foo0())) --> nil print((foo1())) --> a print((foo2())) --> a


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩电影免费在线观看 | 久久国产精品精品 | 黄性视频 | 欧美成人精品在线 | 污网站观看 | 精品国产不卡一区二区三区 | 免费a级毛片在线观看 | 国产精品亚洲一区二区三区在线观看 | 日韩免费小视频 | 日韩三级中文字幕 | 黄色电影在线免费看 | 亚洲国产aⅴ成人精品无吗 aaaa毛片 | 久久久久久免费 | 欧美一区二区视频在线 | 一级毛片一级毛片一级毛片 | 操人视频网站 | 国产午夜av | 亚洲一区二区三区四区五区中文 | 亚州av在线 | 久久九精品| 成人欧美一区二区三区黑人孕妇 | 成人在线一区二区三区 | 久久久久久久久久久久久久久久久久久久 | 黄p网站 | 又紧又大又爽精品一区二区 | 黄色片在线看 | 国产精品二区在线 | 日韩欧美大片 | 久久久久久国产 | 日韩欧美精品区 | 黄a大片 | 国产福利精品视频 | 一级黄毛片 | 欧美日在线 | 精品免费国产一区二区三区四区 | 国产成人精品白浆久久69 | 成人欧美一区二区三区黑人孕妇 | 欧美一区二区三区在线免费观看 | 精品国产免费一区二区三区四区 | 国产欧美大片 | 女同久久另类99精品国产 |