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

Lua教程(二):語法約定

 更新時間:2015年03月28日 15:13:42   投稿:junjie  
這篇文章主要介紹了Lua教程(二):語法約定,本文講解了lua保留關(guān)鍵字、使用的標(biāo)點(diǎn)符號、字符串、ASCII 碼等,需要的朋友可以參考下

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

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

下面這些是其它的 token :

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

+     –     *     /     %     ^     #

==    ~=    <=    >=    <     >     =

(     )     {     }     [     ]

;     :     ,     .     ..    …

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

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

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

另一個約定是,當(dāng)正的長括號后面立即跟了一個換行符, 這個換行符就不包含在這個字符串內(nèi)。 舉個例子,假設(shè)一個系統(tǒng)使用 ASCII 碼 (這時,'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)的任何地方是以兩橫 (–) 開始。 如果跟在兩橫后面的不是一個長括號,這就是一個短注釋,它的作用范圍直到行末; 否則就是一個長注釋,其作用范圍直到遇到反的長括號。 長注釋通常被用來臨時屏蔽代碼塊。

相關(guān)文章

  • Lua中關(guān)于求模與求余的區(qū)別介紹

    Lua中關(guān)于求模與求余的區(qū)別介紹

    這篇文章主要介紹了Lua中關(guān)于求模與求余的區(qū)別介紹,我覺得很多人搞不清楚這兩個概念的區(qū)別,剛好在翻譯lua手冊時遇到%與math.fmod這兩個操作,順便做一下說明吧,需要的朋友可以參考下
    2015-04-04
  • Lua腳本實現(xiàn)遞歸刪除一個文件夾

    Lua腳本實現(xiàn)遞歸刪除一個文件夾

    這篇文章主要介紹了Lua腳本實現(xiàn)遞歸刪除一個文件夾,本文給出了C++和Lua兩個版本的實現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • Lua中的數(shù)學(xué)庫總結(jié)

    Lua中的數(shù)學(xué)庫總結(jié)

    這篇文章主要介紹了Lua中的數(shù)學(xué)庫總結(jié),本文羅列了Lua5.1中數(shù)學(xué)庫的所有函數(shù),需要的朋友可以參考下
    2014-11-11
  • 淺談Lua語句

    淺談Lua語句

    Lua支持大多數(shù)傳統(tǒng)的語句,跟C語言和Pascal差不多。傳統(tǒng)的語句包括:賦值,控制結(jié)構(gòu),流程調(diào)用等。Lua還支持一些不太傳統(tǒng)的語句,例如多賦值(聽起來有點(diǎn)怪,往下看就明白了)和局部變量聲明(這個好像也是傳統(tǒng)的吧)。
    2015-05-05
  • Lua面向?qū)ο笾惡屠^承淺析

    Lua面向?qū)ο笾惡屠^承淺析

    這篇文章主要介紹了Lua面向?qū)ο笾惡屠^承淺析,本文講解了一些Lua面向?qū)ο蟮囊恍┲R,需要的朋友可以參考下
    2014-09-09
  • Lua中的持久化和序列化詳解

    Lua中的持久化和序列化詳解

    這篇文章主要介紹了Lua中的持久化和序列化詳解,本文詳細(xì)講解了Lua中的持久化和序列化,并給出代碼實例,需要的朋友可以參考下
    2014-09-09
  • Lua中的函數(shù)淺析

    Lua中的函數(shù)淺析

    這篇文章主要介紹了Lua中的函數(shù),包括函數(shù)聲明、函數(shù)參數(shù)、多重返回值、變長參數(shù)、具名實參、閉包函數(shù)等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • 把Lua函數(shù)傳遞到C/C++中實例

    把Lua函數(shù)傳遞到C/C++中實例

    這篇文章主要介紹了把Lua函數(shù)傳遞到C/C++中實例,本文先是分析了需求,然后給出解決方法,需要的朋友可以參考下
    2014-11-11
  • Lua中的函數(shù)代碼實例

    Lua中的函數(shù)代碼實例

    這篇文章主要介紹了Lua中的函數(shù)代碼實例,本文著重講解函數(shù)的寫法以及一些小知識,需要的朋友可以參考下
    2015-04-04
  • Lua教程(八):數(shù)據(jù)持久化

    Lua教程(八):數(shù)據(jù)持久化

    這篇文章主要介紹了Lua教程(八):數(shù)據(jù)持久化,本文講解了數(shù)據(jù)文件持久化、序列化兩部份內(nèi)容,需要的朋友可以參考下
    2015-04-04

最新評論