濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Lua教程(二):語(yǔ)法約定

Lua教程(二):語(yǔ)法約定

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

Lua 中用到的 名字(也稱作 標(biāo)識(shí)符)可以是任何非數(shù)字開頭的字母、數(shù)字、下劃線組成的字符串。 這符合幾乎所有編程語(yǔ)言中關(guān)于名字的定義。 (字母的定義依賴于當(dāng)前環(huán)境:系統(tǒng)環(huán)境中定義的字母表中的字母都可以被用于標(biāo)識(shí)符。) 標(biāo)識(shí)符用來(lái)命名變量,或作為表的域名。

下面的關(guān)鍵字是保留的,不能用作名字:

復(fù)制代碼 代碼如下:

and       break     do        else      elseif

end       false     for       function  if

in        local     nil       not       or

repeat    return    then      true      until     while

Lua 是一個(gè)大小寫敏感的語(yǔ)言: and 是一個(gè)保留字,但是 And 和 AND 則是兩個(gè)不同的合法的名字。 一般約定,以下劃線開頭連接一串大寫字母的名字(比如 _VERSION)被保留用于 Lua 內(nèi)部全局變量。

下面這些是其它的 token :

復(fù)制代碼 代碼如下:

+     –     *     /     %     ^     #

==    ~=    =    >=         >     =

(     )     {     }     [     ]

;     :     ,     .     ..    …

字符串既可以用一對(duì)單引號(hào)引起,也可以是雙引號(hào),里面還可以包含類似 C 的轉(zhuǎn)義符: ‘\a' (響鈴), ‘\b' (退格), ‘\f' (表單), ‘\n' (換行), ‘\r' (回車), ‘\t' (橫向制表), ‘\v' (縱向制表), ‘\\' (反斜杠), ‘\”‘ (雙引號(hào)), 以及 ‘\” (單引號(hào))。 而且,如果在一個(gè)反斜杠后跟了一個(gè)真正的換行符,其結(jié)果就是在字符串中產(chǎn)生一個(gè)換行符。 我們還可以用反斜杠加數(shù)字的形式 \ddd 來(lái)描述一個(gè)字符。這里, ddd 是一串最多三位的十進(jìn)制數(shù)字。(注意,如果需要在這種描述方法后接一個(gè)是數(shù)字的字符, 那么反斜杠后必須寫滿三個(gè)數(shù)字。)Lua 中的字符串可以包含任何 8 位的值。包括用 ‘\0′ 表示的零。

只有在你需要把不同的引號(hào)、換行、反斜杠、或是零結(jié)束符這些字符置入字符串時(shí), 你才必須使用轉(zhuǎn)義符。別的任何字符都可以直接寫在文本里。(一些控制符可以會(huì)影響文件系統(tǒng)造成某些問題, 但是不會(huì)引起 Lua 的任何問題。)

字符串還可以用一種長(zhǎng)括號(hào)括起來(lái)的方式定義。 我們把兩個(gè)正的方括號(hào)間插入 n 個(gè)等號(hào)定義為第 n 級(jí)正長(zhǎng)括號(hào)。 就是說(shuō),0 級(jí)正的長(zhǎng)括號(hào)寫作 [[ , 一級(jí)正的長(zhǎng)括號(hào)寫作 [=[ ,如此等等。 反的長(zhǎng)擴(kuò)展也作類似定義; 舉個(gè)例子,4 級(jí)反的長(zhǎng)括號(hào)寫作 ]====] 。 一個(gè)長(zhǎng)字符串可以由任何一級(jí)的正的長(zhǎng)括號(hào)開始,而由第一個(gè)碰到的同級(jí)反的長(zhǎng)括號(hào)結(jié)束。 整個(gè)詞法分析過(guò)程將不受分行限制,不處理任何轉(zhuǎn)意符,并且忽略掉任何不同級(jí)別的長(zhǎng)括號(hào)。 這種方式描述的字符串可以包含任何東西,當(dāng)然特定級(jí)別的反長(zhǎng)括號(hào)除外。

另一個(gè)約定是,當(dāng)正的長(zhǎng)括號(hào)后面立即跟了一個(gè)換行符, 這個(gè)換行符就不包含在這個(gè)字符串內(nèi)。 舉個(gè)例子,假設(shè)一個(gè)系統(tǒng)使用 ASCII 碼 (這時(shí),'a' 編碼為 97 ,換行符編碼為 10 ,'1′ 編碼為 49 ), 下面五種方式描述了完全相同的字符串:

復(fù)制代碼 代碼如下:

a = ‘a(chǎn)lo\n123″‘

a = “alo\n123\”"

a = ‘\97lo\10\04923″‘

a = [[alo

123"]]

a = [==[

alo

123"]==]


數(shù)字常量可以分兩部分寫,十進(jìn)制底數(shù)部分和十進(jìn)制的指數(shù)部分。指數(shù)部分是可選的。 Lua 也支持十六進(jìn)制整數(shù)常量,只需要在前面加上前綴 0x 。 下面是一些合法的數(shù)字常量的例子:
復(fù)制代碼 代碼如下:

3   3.0   3.1416   314.16e-2   0.31416E1   0xff   0×56

注釋可以在除字符串內(nèi)的任何地方是以兩橫 (–) 開始。 如果跟在兩橫后面的不是一個(gè)長(zhǎng)括號(hào),這就是一個(gè)短注釋,它的作用范圍直到行末; 否則就是一個(gè)長(zhǎng)注釋,其作用范圍直到遇到反的長(zhǎng)括號(hào)。 長(zhǎng)注釋通常被用來(lái)臨時(shí)屏蔽代碼塊。

您可能感興趣的文章:
  • Lua中的基本語(yǔ)法、控制語(yǔ)句總結(jié)
  • Lua簡(jiǎn)介、編譯安裝教程及變量等語(yǔ)法介紹
  • ubuntu 14.04下熟悉lua的語(yǔ)法
  • Lua基本語(yǔ)法

標(biāo)簽:臺(tái)灣 天門 天門 儋州 宣城 德宏 金昌 濰坊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua教程(二):語(yǔ)法約定》,本文關(guān)鍵詞  Lua,教程,二,語(yǔ)法,約定,Lua,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Lua教程(二):語(yǔ)法約定》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Lua教程(二):語(yǔ)法約定的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    二连浩特市| 神农架林区| 鹤山市| 阿合奇县| 偏关县| 临夏市| 开阳县| 宁海县| 共和县| 玉山县| 鹿泉市| 马公市| 建昌县| 杂多县| 宁乡县| 南充市| 海盐县| 昌乐县| 莫力| 集贤县| 丹凤县| 永胜县| 阳朔县| 珲春市| 德惠市| 秦皇岛市| 昌平区| 拜城县| 稻城县| 固安县| 绿春县| 原阳县| 类乌齐县| 珠海市| 调兵山市| 富顺县| 乐亭县| 榆树市| 离岛区| 苏尼特左旗| 手游|