麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > 綜合 > 正文

Lua函數用法研究

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

在Lua 基本語法快速入門 中有涉及到函數的用法,但只是普通的應用,并沒有深成次的研究一下,介于函數用的還是比較多的就專門做個專題研究一下~ 
 
一、函數、變量的用法

函數的定義用關鍵字function 。然后加函數名和變量。注意后面沒有do。最后以end結束。

在函數中的變量默認是全局變量,但通常情況下函數中的變量都是在函數中有效的。所以要在聲明的時候加上"local” 標明只在局部有效。
二、返回多個結果值

在Lua中的函數可以返回多個返回值。這與C等語言有很大的不同。因為從根本上講Lua支持多賦值。

我猜測在內部運行時,多個返回值被封裝到了一個table中。然后在賦值時再按順序取出。
看這個示例:             

function max(a)  local mi = 1  local m = a[mi]  for i,val in ipairs(a) do  --其中i為順序位置,val為相應的值   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})) 

   

這個函數的作用是返回一個數列中最大的值和下標。

在實際應用的過程中,在C中調用lua_pcall(L,0,2,0) 即可接受這兩個返回值入棧,然后通過 lua_tonumber(L,-1) 和 lua_tonumber(L,-2)即可
三、可變參數

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

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

例如:
 

function myprint(...)  local printResult = ""  --如果不顯式聲明,程序會自動檢查全局的變量,會找不到出錯  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')) 

 

 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久免费视频一区二区三区 | 黄视频免费在线观看 | 国产精品视频亚洲 | 九九视频精品在线观看 | 黄色aaa视频 | 成人福利电影在线观看 | 久久69精品久久久久久国产越南 | 成人一区三区 | 黄色片视频观看 | 无码av女优| 国产乱一区二区三区视频 | lutube成人福利在线观看污 | 亚洲网站在线观看 | 看91| 亚洲欧美不卡视频 | 黄色的视频在线观看 | 亚洲国产女同久久 | 国产精品999在线观看 | 国产美女视频一区二区三区 | 色婷婷久久久久久 | 黑人一区二区三区四区五区 | 国产69精品久久久久久 | 天天干天天碰 | 国产午夜精品一区二区三区四区 | 成人午夜视频免费在线观看 | 91福利在线观看 | 欧美成人高清视频 | 999精品国产 | 久久精品视频在线看99 | 精品一区二区三区中文字幕老牛 | 黄色的视频免费看 | 黄色片免费看网站 | 欧美成人激情 | 免费观看黄视频 | 91精品老司机| 桥本有菜免费av一区二区三区 | 国产69精品久久99不卡免费版 | 中国老女人一级毛片视频 | 久久精品亚洲精品国产欧美kt∨ | 久久久精品视频免费看 | 精品亚洲二区 |