主頁(yè) > 知識(shí)庫(kù) > Lua函數(shù)用法研究

Lua函數(shù)用法研究

熱門(mén)標(biāo)簽:衡水外呼線路解決 杞縣地圖標(biāo)注app 外呼系統(tǒng)一天耗費(fèi)多少流量 艾比利外呼系統(tǒng) 昆明電話外呼系統(tǒng)好么 海口智能語(yǔ)音電銷機(jī)器人好用嗎 陜西便宜電銷機(jī)器人軟件 免費(fèi)門(mén)店地圖標(biāo)注注冊(cè)入駐 電話機(jī)器人每天搜索多少次

在Lua 基本語(yǔ)法快速入門(mén) 中有涉及到函數(shù)的用法,但只是普通的應(yīng)用,并沒(méi)有深成次的研究一下,介于函數(shù)用的還是比較多的就專門(mén)做個(gè)專題研究一下~ 
 
一、函數(shù)、變量的用法

函數(shù)的定義用關(guān)鍵字function 。然后加函數(shù)名和變量。注意后面沒(méi)有do。最后以end結(jié)束。

在函數(shù)中的變量默認(rèn)是全局變量,但通常情況下函數(shù)中的變量都是在函數(shù)中有效的。所以要在聲明的時(shí)候加上"local” 標(biāo)明只在局部有效。
二、返回多個(gè)結(jié)果值

在Lua中的函數(shù)可以返回多個(gè)返回值。這與C等語(yǔ)言有很大的不同。因?yàn)閺母旧现vLua支持多賦值。

我猜測(cè)在內(nèi)部運(yùn)行時(shí),多個(gè)返回值被封裝到了一個(gè)table中。然后在賦值時(shí)再按順序取出。
看這個(gè)示例:             

function max(a) 
 local mi = 1 
 local m = a[mi] 
 for i,val in ipairs(a) do  --其中i為順序位置,val為相應(yīng)的值 
  print("i= "..i.."val="..val) 
  if val >m then 
   mi = i 
   m = val 
  end 
 end 
 return m,mi 
end 
 
print(max({8,10,23,12,5})) 

   

這個(gè)函數(shù)的作用是返回一個(gè)數(shù)列中最大的值和下標(biāo)。

在實(shí)際應(yīng)用的過(guò)程中,在C中調(diào)用lua_pcall(L,0,2,0) 即可接受這兩個(gè)返回值入棧,然后通過(guò) lua_tonumber(L,-1) 和 lua_tonumber(L,-2)即可
三、可變參數(shù)

Lua 函數(shù)可以接受可變數(shù)目的參數(shù),和 C 語(yǔ)言類似在函數(shù)參數(shù)列表中使用三點(diǎn)(...)表示函數(shù)有可變的參數(shù)。

Lua 將函數(shù)的參數(shù)放在一個(gè)叫 arg 的表中,除了參數(shù)以外,arg表中還有一個(gè)域 n 表示參數(shù)的個(gè)數(shù)。

例如:
 

function myprint(...) 
 local printResult = ""  --如果不顯式聲明,程序會(huì)自動(dòng)檢查全局的變量,會(huì)找不到出錯(cuò) 
 print(arg.n) 
 for i,v in ipairs(arg) do 
  printResult = printResult..tostring(v)..'\t' 
 end 
 printResult=printResult..'\n' 
 return printResult 
end 
 
print(myprint(2,4,6,'2es')) 

標(biāo)簽:臨滄 南京 西寧 泰安 營(yíng)口 宿遷 昌都

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua函數(shù)用法研究》,本文關(guān)鍵詞  Lua,函數(shù),用法,研究,Lua,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Lua函數(shù)用法研究》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Lua函數(shù)用法研究的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章