筆記(未完)

學習Tips: http://blog.codingnow.com/cloud/LuaTips
Lua提供的機制是C所不擅長的,比如:高級語言、動態結構、簡潔、易於測試和
調試等。正因爲如此,Lua 具有良好的安全保證,自動內存管理,簡便的字符串處理功
能及其他動態數據的改變。
通常情況下,組件(或對象)表現爲具體在程序開發過程中很少變化的、佔用大量 CPU
時間的決定性的程序,例如窗口部件和數據結構。對那種在產品的生命週期內變化比較
多的應用方向使用Lua 可以更方便的適應變化。
Chunk是Lua執行的每一塊語句。
註釋:-- 多行註釋: --[[ --]]
Numbers表示實數,Lua中沒有整數。lua可以用處理任何長整數而不用擔心誤差。
lua中字符串是不可以修改的。
如果兩個值類型不同,lua認爲他們不等;當且僅當他們表示同一個對象時二者相等。
邏輯運算符認爲false 和nil是假(false ),其他爲真,0 也是true. and 和or 的運算結果不是 true 和false ,而是和它的兩個操作數相關。一個很實用的技巧:如果x 爲false 或者nil則給x 賦初始值v(x = x or v)
C語言中的a ? b : c在lua中等價於: (a and b) or c
字符串連接:兩個點 ..
表的第一個元素索引爲1(可以從0開始,不建議這樣用)
local 創建局部變量,儘量使用:1,可以避免命名衝突; 2. 訪問局部變量速度快
for循環中的循環區間寫錯時,是不會執行的
lua語法要求 break和return 只能出現在 block的結尾一句(也就是說:作爲 chunk的最後一句,或者在end 之前,或者 else 前,或者 until 前)。調試時可以顯式調用do return end來實現。
Lua 中的函數是帶有詞法定界(lexical scoping)的第一類值(first-class values ).(第六章,多理解理解……)函數當做變量來看。詞法定界:理解爲嵌套函數可以訪問外部函數的局部變量。第一類值指:在 Lua 中函數和其他值(數值、字符串)一樣,函數可以被存放在變量中,也可以存放在表中,可以作爲函數的參數,還可以作爲函數的返回值。 詞法定界指:被嵌套的函數可以訪問他外部函數中的變量。很微妙的是:當執行完外部函數後,局部變量n的生命本該結束,但因爲他已成了內嵌函數的upvalue,所以他仍然能以某種形式繼續“存活”下來,





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章