Lua編程入門(一)
1.簡介
Lua 是一門擴展式程式設計語言,被設計成支持通用程序式編程,并有相關資料描述設施,同時對面向物件編程、函式式編程和資料驅動式編程也提供了良好的支持,它作為一個強大、輕量的嵌入式腳本語言,可供任何需要的程式使用,Lua 由 clean C(標準 C 和 C++ 間共通的子集) 實作成一個庫,
作為一門擴展式語言,Lua 沒有 “main” 程式的概念:它只能 嵌入 一個宿主程式中作業,該宿主程式被稱為 被嵌入程式 或者簡稱 宿主 , 宿主程式可以呼叫函式執行一小段 Lua 代碼,可以讀寫 Lua 變數,可以注冊 C 函式讓 Lua 代碼呼叫,依靠 C 函式,Lua 可以共享相同的語法框架來定制編程語言,從而適用不同的領域,Lua 的官方發布版包含一個叫做 lua 的宿主程式示例,它是一個利用 Lua 庫實作的完整獨立的 Lua 解釋器,可用于互動式應用或批處理,
2.基本概念
2.1值與型別
Lua 是一門動態型別語言,這意味著**變數沒有型別;只有值才有型別,**語言中不設型別定義,所有的值攜帶自己的型別,
注意: Lua 中所有的值都是 一等公民,這意味著所有的值均可保存在變數中、當作引數傳遞給其它函式、以及作為回傳值,
2.2八種基本型別
Nil: 只有值nil屬于該類,表示一個無效值(在條件運算式中相當于false); 一個全域變數沒有被賦值以前默認值為nil;給全域變數賦nil可以洗掉該變數,
注意:nil作比較時應該加上雙引號,
Boolean: 包含兩個值fasle和true; 但要注意Lua中所有的值都可以作為條件;在控制結構的條件中除了false和nil為假,其他值都為真,所以Lua認為0和空串都是真,
Number: 整數和實數,Lua 中的所有數都用雙精度浮點數表示,
String: 字串型別,表示一個不可變的位元組序列;由一對雙引號或單引號來表示 ,由于Lua中字串是不可以修改的,所以我們可以創建一個新的變數存放所需要的字串, Lua 的字串與編碼無關;它不關心字串中具體內容,
Function:由C或者Lua撰寫的函式,
Userdata(自定義型別):表示任意存盤在變數中的C資料結構,
Thread:表示了一個獨立的執行序列,被用于實作協程,Lua的執行緒與作業系統的執行緒毫無關系; Lua 為所有的系統,包括那些不支持原生執行緒的系統,提供了協程支持,
Table: 表是 Lua 中唯一的資料結構,它可被用于表示普通陣列、序列、符號表、集合、記錄、圖、樹等等,
2.3代碼塊(block)
? 代碼塊指一個控制結構內,一個函式體,或者一個chunk(變數被宣告的那個檔案或者文本串),也就是do…end內的那一部分,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/233528.html
標籤:其他
