婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Lua中的基本語法、控制語句總結

Lua中的基本語法、控制語句總結

熱門標簽:冀州市地圖標注 地圖標注大廈 清朝地圖標注哈爾濱 百度地圖標注早餐區域 個人怎么在地圖標注需要的店鋪 武漢外呼防封系統多少錢 漳州智云呼電話機器人 新岸線智能電銷機器人 怎么去除地圖標注

前言

學習一門語言,首先就是從最基本的語法開始,這一篇將對Lua中的語句進行概要的總結。

賦值

賦值的基本含義是修改一個變量或一個table中字段的值,這個和其它語言沒有多少區別,但是對于Lua,有一個特性,它允許“多重賦值”,也就是一下子將多個值賦予多個變量,例如以下代碼:

復制代碼 代碼如下:

local x1, x2 = 2, 4
print(x1)     -->2
print(x2)     -->4

在多重賦值中,Lua先對等號右邊的所有元素求值,然后才執行賦值,例如以下用法,可以非常簡便的交換兩個元素的值:

復制代碼 代碼如下:

local x1, x2 = 2, 4
x1, x2 = x2, x1
print(x1)     -->4
print(x2)     -->2

Lua總是會將等號右邊值得個數調整到與左邊變量的個數相一致,規則是:如果值得個數少于變量的個數,那么多余的變量會被賦為nil;如果值得個數更多的話,那么多余的值會被忽略掉。

局部變量與塊

相對于全局變量,Lua同時也提供了局部變量。通過local語句來創建局部變量:

復制代碼 代碼如下:

i = 10     -->全局變量
local i = 10     -->局部變量

在Lua中,局部變量也是有作用范圍的,也就是說,出了局部變量的作用范圍,局部變量就會失去作用,這個和C++等高級語言是一樣的道理。我們在編程的過程中,也可以使用do…end來顯示的聲明一個塊,例如以下代碼:

復制代碼 代碼如下:

do
     local a1 = 10
     local a2 = 10
end          -->a1和a2的作用域到此結束

至于使用局部變量和全局變量,關系到編程風格和實際需要,這里不做多說。

控制結構

幾乎所有的語言都有控制結構,同樣,對于Lua的控制結構是非常簡單的。Lua提供了用于條件執行的if,循環的while、repeat和for。所有的控制結構都有一個顯式的終止符:if、for和while以end作為結尾,repeat以until作為結尾。特別注意,在Lua中是不支持switch結構的。

if then else

if語句先測試其條件,然后根據測試結果執行then部分或者else部分,else部分是可選的。如果要編寫嵌套的if,可以使用elseif,下面通過代碼示例來說明if的使用。

復制代碼 代碼如下:

if a 0 then a = 0 end
if a b then retuan a else return b end
 
if op == "+" then
     r = a + b
elseif op == "-" then
     r = a - b
elseif op == "*" then
     r = a * b
elseif op == "/" then
     r = a / b
end

while

Lua中的while與其它語言是一樣的,示例代碼如下:

復制代碼 代碼如下:

local a = 10
while a > 0 do
     a = a - 1
     -- Do something else
end

repeat

repeat就好比C++中的do…while結構,循環體至少會執行一次。repeat-until語句重復執行其循環體直到條件為真時結束。

在Lua中有兩種for語句的形式:數字型for和泛型for

數字型for

數字型for的語法如下:

復制代碼 代碼如下:

for var = exp1, exp2, exp3 do
     -- Do something
end

var從exp1變化到exp2,每次變化都以exp3作為步長進行遞增,并執行一次do…end之間的代碼。第三個表達式exp3是可選的,若不指定的話,Lua會將步長默認為1。例如以下代碼:

復制代碼 代碼如下:

for var = 1, 10 do
     print(var)
end
 
for var = 10, 1, -1 do
     print(var)
end

在使用for時,需要注意以下兩點:

1.for的exp1,exp2和exp3,這三個表達式是在循環開始前一次性求值得;并不會每次循環都進行求值;

2.控制變量var會被自動的聲明為for語句的局部變量,并且僅在循環體內可見。

泛型for

泛型for循環通過一個迭代器函數來遍歷所有值。在Lua的基礎庫中提供了ipairs,這是一個用于遍歷數組的迭代器函數。從外觀上看泛型for比較簡單,但其實它是非常強大的。通過不同的迭代器,幾乎可以遍歷所有的東西。標準庫提供了幾種迭代器,包括用于迭代文件中每行的io.lines、迭代table元素的pairs、迭代數組元素的ipairs和迭代字符串中單詞的string.gmatch等。當然了,我們也可以編寫自己的迭代器,在以后的文章中,我會總結如何編寫迭代器的。

break與return

break和return語句用于跳出當前的塊。這里的break、return和C++等語言是一樣的。break語句用于結束一個循環,return語句用于從一個函數中返回結果。

您可能感興趣的文章:
  • Lua中基本的數據類型、表達式與流程控制語句講解
  • Lua中的控制結構(流程控制)簡明總結
  • Lua基礎教程之賦值語句、表達式、流程控制、函數學習筆記
  • Lua和C++的通信流程代碼實例
  • Lua和C++的通信流程分解
  • Lua中的變量和流控制入門學習
  • Lua表達式和控制結構學習筆記
  • Lua流程控制語句if else的使用示例

標簽:濰坊 儋州 金昌 宣城 德宏 臺灣 天門 天門

巨人網絡通訊聲明:本文標題《Lua中的基本語法、控制語句總結》,本文關鍵詞  Lua,中的,基本,語法,控制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua中的基本語法、控制語句總結》相關的同類信息!
  • 本頁收集關于Lua中的基本語法、控制語句總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 乌兰县| 敦化市| 合水县| 余江县| 菏泽市| 贵州省| 深圳市| 长寿区| 玉林市| 曲阳县| 涞水县| 新巴尔虎右旗| 宝丰县| 丰原市| 长寿区| 保山市| 天长市| 苍梧县| 武鸣县| 河间市| 思茅市| 扶绥县| 苏尼特左旗| 濮阳市| 承德市| 浠水县| 大化| 昌平区| 忻城县| 汶川县| 天台县| 湾仔区| 临猗县| 聂荣县| 临西县| 股票| 晋城| 惠来县| 集安市| 大田县| 沈阳市|