1-2、Lua之helloWorld及類型和值
1、helloWorld腳本編程
創建一個hello_world.lua的腳本文件,然後按照如下輸入:
#!/usr/bin/lua5.1
print("Hello World!")
接着在命令行下執行:lua hello_world.lua,結果如下:
zy@DESKTOP-5CMGSL0:~/studydir/lua$ lua hello_world.lua
Hello World!
2、註釋
lua腳本中註釋包括兩種,單行註釋和多行註釋:
#單行註釋
--[[
多行註釋
--]]
3、變量
Lua 標示符用於定義一個變量,函數獲取其他用戶定義的項。標示符以一個字母 A 到 Z 或 a 到 z 或下劃線 _ 開頭後加上0個或多個字母,下劃線,數字(0到9)。
一般來說,簡單將變量分全局變量和局部變量。局部變量,比如:local tmp,對於lua腳本的命名規範目前使用較多的還是駝峯命名法,但是我寫c較多,且習慣於這一套,大多腳本我還是按照函數式寫法來的,也因此我對於全局變量會習慣性的以g_開頭,比如:g_last_name,並加以註釋,這樣可以避免當全局變量較多時無法區分該變量的作用。
變量默認值爲nil,表示空,當我們要刪除該變量進行內存回收時可以給該變量賦空,如:tmp = nil
4、lua安裝
這個一般都是在Linux上使用,默認會安裝lua,我們也可以源碼編譯安裝,你可以理解成我們將一個c代碼編譯成了一個叫lua的應用程序,然後這個程序可以執行後綴爲.lua的腳本文件,執行命令就是:lua xxx.lua
常用的Ubuntu等都會默認安裝,也可以使用apt-get等方式再安裝。
5、數據類型
Lua 是動態類型語言,變量不要類型定義,只需要爲變量賦值。值可以存儲在變量中,作爲參數傳遞或結果返回。
Lua 中有 8 個基本類型分別爲:nil、boolean、number、string、userdata、function、thread 和 table。
比如定義了局部變量a,然後隨時可以更改該變量的值,例如:
local a
a = 1
a = false
a = nil
a = "1"
a = {}
function example(x, y)
return x + y
end
a = example
數據類型 | 描述 | 示例 |
---|---|---|
nil | 這個最簡單,只有值nil屬於該類,表示一個無效值(在條件表達式中相當於false)。 | a = nil |
boolean | 包含兩個值:false和true。 | a = true |
number | 表示雙精度類型的實浮點數 | a = 1.0 |
string | 字符串由一對雙引號或單引號來表示 | a = 'hello world’或者a = “hello world” |
function | 由 C 或 Lua 編寫的函數 | function test() end |
userdata | 表示任意存儲在變量中的C數據結構 | 略,後續單獨總結 |
thread | 表示執行的獨立線路,用於執行協同程序 | 略,後續單獨總結 |
table | Lua 中的表(table)其實是一個"關聯數組"(associative arrays),數組的索引可以是數字、字符串或表類型。在 Lua 裏,table 的創建是通過"構造表達式"來完成,最簡單構造表達式是{},用來創建一個空表。 | a = {} |
附註:
- lua中除了nil和false爲假,其它都爲真,即使“”和{}也都爲真,即邏輯判斷時爲true。
- lua中只有number,所以需要表示整型等數據時需要數學庫輔助處理,即math庫。
- lua中string轉換函數tonumber轉換後的結果爲number型,默認是帶有小數點的,可能不是需要的整型。