国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

詳解Lua中的變量相關知識點

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

 變量不過是存儲到區域項目可以操作的名稱。它可以容納不同類型的值,包括函數和表格。

變量名可以由字母,數字和下劃線。它必須以字母或下劃線。大寫和小寫字母是不同的,因為Lua是區分大小寫的。有八種基本類型值在Lua中:

在Lua,盡管我們沒有變量的數據類型,我們基于該變量范圍的三種類型。

  •     全局變量:所有的變量默是全局除非顯式地聲明為局部。
  •     局部變量:當類型被指定為局部的一個變量,它的范圍是有限的在自己的范圍內使用。
  •     表字段:這是一種特殊類型的變量,可以除了nil,包括功能不放任何東西。

在Lua變量定義:

定義一個變量意味著告訴解釋器在哪里和多少創建存儲的變量。變量的定義有一個可選的類型和包含該類型,如下一個或多個變量的列表:

 

復制代碼 代碼如下:
type variable_list;

 

在這里,類型是可選局部或nor型指定使其全局,variable_list可能包含由逗號分隔的一個或多個標識符名稱。一些有效的聲明是如下所示:

 

復制代碼 代碼如下:
local    i, j
local    i
local    a,c

 

同一行 local i, j 均聲明并定義了變量i和j;這指示解釋器創建一個名為i, j 變量和限制的范圍是局部的。

變量可以被初始化(分配一個初始值)聲明。初始化包括一個等號后面的常量表達式如下:

 

復制代碼 代碼如下:
type variable_list = value_list;

 

一些實例是:

 

復制代碼 代碼如下:
local d , f = 5 ,10 --declaration of d and f as local variables.
d , f = 5, 10;      --declaration of d and f as global variables.
d, f = 10           --[[declaration of d and f as global variables.
                        Here value of f is nil --]]

 

對于沒有初始化的定義:具有靜態存儲變量隱式初始化為nil。
在Lua聲明變量:

正如上面的例子中看到,分配多個變量遵循variable_list和值表格式。在上面的例子中local d , f = 5 ,10,d和f中的值列表variable_list為5和10。

在Lua值設定發生像variable_list在第一個值和第一個變量值表等等。因此d 的值是5和f的值是10。
例子

試試下面的例子,其中變量都在上面被聲明已經確定,主函數中初始化:

 

復制代碼 代碼如下:

-- Variable definition:
local a, b
-- Initialization
a = 10
b = 30

 

print("value of a:", a)

print("value of b:", b)

-- Swapping of variables
b, a = a, b
print("value of a:", a)

print("value of b:", b)

f = 70.0/3.0
print("value of f", f)

 

當上述代碼被構建和執行時,它會產生下列結果:

 

復制代碼 代碼如下:
value of a: 10
value of b: 30
value of a: 30
value of b: 10
value of f 23.333333333333

 

Lua左值和右值:

在Lua有兩種表達式:

  1.     左值:是指一個內存位置的表達式被稱為“左值”的表達式。左值可能會出現無論是左邊或右側。
  2.     右值:術語右值指的是存儲在內存中某個地址的數據值。右值是不能分配給它的值,這意味著一個右值可能會出現在賦值的右側而不是左側的表達式。

變量是左值,因此可能會出現在賦值左側。數字文本是右值,因此可能無法分配的,不能出現在左側。下面是一個有效的聲明:

 

復制代碼 代碼如下:
g = 20

 

但是,下面不是一個有效的聲明,并會產生編譯時錯誤:

 

復制代碼 代碼如下:
10 = 20

 

在Lua編程語言中,除了上述類型的分配的,所以可以有多個左值和右值在相同的單一語句。它如下所示。

 

復制代碼 代碼如下:
g,l = 20,30

 

在上面的語句中,20被分配給g和30被分配到l。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开阳县| 五家渠市| 商洛市| 将乐县| 彩票| 铁岭市| 锦州市| 崇文区| 鄂尔多斯市| 无棣县| 满洲里市| 正镶白旗| 天峨县| 平乡县| 万源市| 平湖市| 石阡县| 收藏| 湖州市| 鹰潭市| 南溪县| 于田县| 怀安县| 伽师县| 都江堰市| 临夏市| 中宁县| 和静县| 高州市| 中江县| 湖北省| 文登市| 壤塘县| 新安县| SHOW| 定州市| 海晏县| 嘉定区| 洛阳市| 龙井市| 天门市|