歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Lua程序設計(第二版)閱讀筆記

Lua程序設計(第二版)閱讀筆記

日期:2017/3/1 9:59:34   编辑:Linux編程

很有意思的是,下面的代碼是有效地,我也是看了書才知道。代碼後面可以跟著,也可以不跟分號。

相關鏈接:Lua程序設計(第2版)中文 PDF http://www.linuxidc.com/Linux/2013-03/81833.htm

a = 5 b = 6

c = 7; d = 8;

print(a, b, c, d)

Lua中,什麼是字母依賴於locale的設置,也就是中文環境下,中文可以用作變量名(?這個需驗證)

Lua有大小寫之分。

常用的塊注釋方式是–[[然後以--]]結尾,這樣如果想取消塊注釋,就把開頭多加個-就行了。

LUA_INIT內容為@文件名,解釋器會先執行這個文件(?需驗證)。

Lua中的(以後省略)函數為第一類值,比如print = type; print(a); 這個是合法合理的,但是print就沒有了,一般用於沙箱sandbox操作。

條件判斷只有兩種情況為假,false以及nil。其余都為真。

number是實數(通常下)。用雙精度代表整數,只要這個數字不大於10的14次方就沒問題(本書這裡筆誤為1014,shit,我對照了PIL第一版確認的)。重新編譯數字類型可以方便用於其它平台luaconf.h。數字可以寫作4.57e-3 0.3e12 5e+20這種科學計數法。

Lua可以存儲任意二進制字符到字符串類型中。5.1支持的長括號寫法[===[匹配]===],只要等號數量移植。字符串與數字運算,數字會轉成字符串,可以用tonumber把字符變成數字。

local str = "5e+20"

local num = tonumber(str)

print(num)

數字轉成字符,可以用tostring或者讓數字與空字符串連接。

5.1的字符串支持#。

local a = {}創建了一個table,並且讓a引用這個table,通過a這個變量我們可以操作這個table,如果沒有變量繼續引用這個table(a = nil),Lua會負責回收內存銷毀它。

a["nameX“] = 5 等價於 a.nameX = 5,注意key裡面的引號。local a = {}; a[x] = 5這個代碼是不合法的。local a = {}; a["x"] = 5; print(a.x);這個會打印出5。

長度操作#的常用做法,print(a[#a])打印最後一個(因為Lua的table索引從1開始),a[#a +1] = n常用與自增,a[#a] = nil刪除最後一個。

Copyright © Linux教程網 All Rights Reserved