欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Lua中的函數(shù)相關(guān)知識(shí)點(diǎn)整理匯總

 更新時(shí)間:2015年05月28日 12:05:48   投稿:goldensun  
這篇文章主要介紹了Lua中的函數(shù)相關(guān)知識(shí)點(diǎn)整理匯總,包括函數(shù)的參數(shù)傳遞和定義函數(shù)等基本知識(shí),需要的朋友可以參考下

 函數(shù)是一組一起執(zhí)行任務(wù)的語(yǔ)句。可以把代碼放到獨(dú)立的函數(shù)中。怎么劃分代碼功能之間的不同,但在邏輯上劃分通常是讓每個(gè)函數(shù)執(zhí)行特定的任務(wù)。

Lua語(yǔ)言提供了程序可以調(diào)用大量的內(nèi)置方法。例如,方法print()打印作為輸入傳參數(shù)在控制臺(tái)中。

函數(shù)是已知的各種名稱,如方法或子程序或程序等。
定義一個(gè)函數(shù)

在Lua編程語(yǔ)言中的方法的定義一般形式如下:

復(fù)制代碼 代碼如下:
optional_function_scope function function_name( argument1, argument2, argument3..., argumentn)
function_body
return result_params_comma_separated
end

在 Lua 編程語(yǔ)言的方法定義包括方法頭和方法體。這里是方法的所有部件

  •     可選函數(shù)適用范圍:可以使用關(guān)鍵字本地范圍的限制功能或忽略的范圍部分,這將使它成為一個(gè)全局函數(shù)。
  •     函數(shù)名稱:這是函數(shù)的實(shí)際名稱。函數(shù)名和參數(shù)列表一起構(gòu)成了函數(shù)簽名。
  •     參數(shù):一個(gè)參數(shù)是像占位符。當(dāng)調(diào)用一個(gè)函數(shù),將值傳遞給參數(shù)。這個(gè)值被稱為實(shí)際參數(shù)或參數(shù)。參數(shù)列表是指類型,順序和數(shù)量的方法的參數(shù)。參數(shù)是可選的;也就是說,方法可能沒有參數(shù)。
  •     函數(shù)體:方法主體包含了定義方法做什么的語(yǔ)句的集合。
  •     返回:在Lua中可以通過下面的逗號(hào)分隔的返回值,return關(guān)鍵字返回多個(gè)值。

例子:

下面是一個(gè)函數(shù)的源代碼調(diào)用max()。這個(gè)函數(shù)有兩個(gè)參數(shù)num1與num2并返回兩者之間的最大值:

復(fù)制代碼 代碼如下:
--[[ function returning the max between two numbers --]]
function max(num1, num2)

   if (num1 > num2) then
      result = num1;
   else
      result = num2;
   end

   return result;
end

函數(shù)參數(shù):

如果一個(gè)函數(shù)使用參數(shù),它必須聲明接受的參數(shù)值變量。這些變量被函數(shù)的形式參數(shù)調(diào)用。

正式的參數(shù)表現(xiàn)得就像在函數(shù)內(nèi)部其他本地變量和在進(jìn)入函數(shù)創(chuàng)建并在退出時(shí)銷毀。
調(diào)用函數(shù):

當(dāng)創(chuàng)建一個(gè)Lua函數(shù),給什么樣的功能,必須做一個(gè)定義。要使用一個(gè)方法,將不得不調(diào)用該函數(shù)來執(zhí)行定義的任務(wù)。

當(dāng)程序調(diào)用一個(gè)函數(shù),程序的控制轉(zhuǎn)移到被調(diào)用的函數(shù)。被調(diào)用函數(shù)進(jìn)行定義的任務(wù)和在執(zhí)行它的return語(yǔ)句或當(dāng)其功能的終端到達(dá)時(shí),程序控制返回到主程序。

而調(diào)用只是需要傳遞所需的參數(shù)以及方法名的方法,如果方法返回一個(gè)值,那么你可以存儲(chǔ)返回的值。例如:

復(fù)制代碼 代碼如下:
function max(num1, num2)

   if (num1 > num2) then
      result = num1;
   else
      result = num2;
   end

   return result;
end

-- calling a function
print("The maximum of the two numbers is ",max(10,4))
print("The maximum of the two numbers is ",max(5,6))

當(dāng)我們運(yùn)行上面的代碼中,將得到下面的輸出。

復(fù)制代碼 代碼如下:
The maximum of the two numbers is  10
The maximum of the two numbers is  6

分配和傳遞函數(shù)

在Lua中,我們可以指定函數(shù)的變量,也可以將它們作為另一個(gè)函數(shù)的參數(shù)。下面是一個(gè)簡(jiǎn)單的例子,用來分配Lua傳遞一個(gè)函數(shù)作為參數(shù)。

復(fù)制代碼 代碼如下:
myprint = function(param)
   print("This is my print function -   ##",param,"##")
end

function add(num1,num2,functionPrint)
   result = num1 + num2
   functionPrint(result)
end
myprint(10)
add(2,5,myprint)

當(dāng)我們運(yùn)行上面的代碼中,將得到下面的輸出。

復(fù)制代碼 代碼如下:
This is my print function -   ## 10 ##
This is my print function -   ## 7 ##

函數(shù)與變量參數(shù)

可以在Lua中創(chuàng)建一個(gè)具有可變參數(shù)的函數(shù)......作為它的參數(shù)。我們可以通過看一個(gè)例子,利用可變參數(shù)該函數(shù)將返回平均值。

復(fù)制代碼 代碼如下:
function average(...)
   result = 0
   local arg={...}
   for i,v in ipairs(arg) do
      result = result + v
   end
   return result/#arg
end

print("The average is",average(10,5,3,4,5,6))

當(dāng)我們運(yùn)行上面的代碼中,將得到下面的輸出。

復(fù)制代碼 代碼如下:
The average is 5.5

相關(guān)文章

  • 詳解Lua中的元表概念

    詳解Lua中的元表概念

    這篇文章主要介紹了詳解Lua中的元表,是Lua入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • Lua中調(diào)用C++函數(shù)示例

    Lua中調(diào)用C++函數(shù)示例

    這篇文章主要介紹了Lua中調(diào)用C++函數(shù)示例,本文給出的C++函數(shù)average()演示了如何接受多個(gè)參數(shù)且返回超過一個(gè)值,需要的朋友可以參考下
    2015-07-07
  • Lua字符串庫(kù)中的幾個(gè)重點(diǎn)函數(shù)介紹

    Lua字符串庫(kù)中的幾個(gè)重點(diǎn)函數(shù)介紹

    這篇文章主要介紹了Lua字符串庫(kù)中的幾個(gè)重點(diǎn)函數(shù)介紹,本文講解了幾個(gè)最常用的強(qiáng)大的字符串函數(shù)find、match、gsub、gmatch,需要的朋友可以參考下
    2014-09-09
  • Lua性能優(yōu)化技巧(六):最后的提示

    Lua性能優(yōu)化技巧(六):最后的提示

    這篇文章主要介紹了Lua性能優(yōu)化技巧(六):最后的提示,本文是系列文章的最后一篇,其它文章請(qǐng)參考本文的相關(guān)文章,需要的朋友可以參考下
    2015-04-04
  • C語(yǔ)言模塊回調(diào)Lua函數(shù)的兩種方法

    C語(yǔ)言模塊回調(diào)Lua函數(shù)的兩種方法

    這篇文章主要介紹了C語(yǔ)言模塊回調(diào)Lua函數(shù)的兩種方法,本文講解了C保存函數(shù)對(duì)象、C訪問Lua全局環(huán)境兩種方法,需要的朋友可以參考下
    2015-04-04
  • lua文件操作詳解

    lua文件操作詳解

    Lua中關(guān)于文件處理操作是本文要介紹的內(nèi)容,主要是來了解并學(xué)習(xí)lua中文件的相關(guān)操作,具體內(nèi)容的實(shí)現(xiàn)來看本文詳解。
    2016-03-03
  • Lua中數(shù)字for循環(huán)實(shí)例

    Lua中數(shù)字for循環(huán)實(shí)例

    這篇文章主要介紹了Lua中數(shù)字for循環(huán)實(shí)例,本文直接給出數(shù)字循環(huán)代碼示例,并探討了改變控制變量的一些問題,需要的朋友可以參考下
    2015-04-04
  • Lua中的協(xié)同程序探究

    Lua中的協(xié)同程序探究

    這篇文章主要介紹了Lua中的協(xié)同程序探究,本文講解了什么是協(xié)同程序、創(chuàng)建協(xié)同程序、更像樣的協(xié)同程序、讓協(xié)同程序掛起、resume操作的返回值,需要的朋友可以參考下
    2014-09-09
  • Lua中的常用函數(shù)庫(kù)匯總

    Lua中的常用函數(shù)庫(kù)匯總

    這篇文章主要介紹了Lua中的常用函數(shù)庫(kù)匯總,本文羅列了lua庫(kù)函數(shù)、數(shù)學(xué)函數(shù)、字符串庫(kù)、表函數(shù)、Bit Functions,需要的朋友可以參考下
    2014-09-09
  • Lua教程(一):在C++中嵌入Lua腳本

    Lua教程(一):在C++中嵌入Lua腳本

    這篇文章主要介紹了Lua教程(一):在C++中嵌入Lua腳本,本文在MAC環(huán)境中開發(fā),同時(shí)探討了IOS項(xiàng)目集成Lua、Android項(xiàng)目集成Lua等內(nèi)容,需要的朋友可以參考下
    2014-09-09

最新評(píng)論