我的lua 學習

2021-08-13 14:23:34 字數 2945 閱讀 5149

2, 安裝好之後, 可以把 安裝路徑配到path 環境變數中,  直接 lua -i 就可以進入互動式程式設計, 在》 符號後面加上要執行的指令碼就可以執行. 例如print("hello world")  不需要分號結尾

3,  print(b)   乙個沒有初始化的變數是nil, 可以訪問不會報錯.  在預設情況下,變數總是認為是全域性的。nil 就是其他語言中的null 或者false

5, 在scite 中寫好指令碼之後, 必須儲存成.lua 檔案, 才可以編譯, 不然的話就不會出現run 的按鈕.

6.  lua 中的方法呼叫執行語句都不需要寫在方法裡面.

7, lua 中的變數預設都是全域性變數, 除非自己設定為local 修飾.  就算是function裡面也是這樣

8, c# 中的foreach 迴圈在lua 中使 for k,v in pairs(table) do 

code   

end;

9 lua 中的for 迴圈for i=1,10 do print(i) end   注意這裡是會輸出10 的, 表示判斷條件是i<=10;

10, lua 中的table 鍵預設從1 開始,  所以abc =   print(abc[0]) 這個列印出來會是nil

11, lua 中的table 是可以任意增加內容的, 

abc =

abc["love"]=1

print(abc["love"])

print(abc[1]) 

這樣也是可以的, 長度會自動增長, 鍵可以是任意型別

12,  lua 會自動的在數字和字串之間進行轉換, 但是如果是數字用.. 的功能進行拼接的時候, 記住要在.. 前面加乙個空格. 不然報錯

13. lua 中的變數交換十分簡單,x,y=y,x 這樣就可以了,右邊會先用真實的值代替x,y 然後賦值給右邊

14. lua 中訪問區域性變數的速度比全域性變數快

15, 初始化乙個表. table=, table=

16, 訪問表的以字串為鍵的值的時候, 可以這樣,   table.henry, 或者是table["henry"] 這兩種寫法都是可以的

17, while 和if 寫法如下, while 後面加do, if 後面加 then

18, 多個if 條件寫法如下 , 注意elseif 是連線的, 別的語言是分開的, 而且也還是要寫then, if 語句也需要用end 結尾

19, lua 中任意數字都可以作為if 的判斷, 不過都是true, 只有nil 和false 會是false

20. if 巢狀if 寫法如下

21. lua 中要呼叫別的檔案的方法, 先要寫require "proj"  代表引用到這個檔案的東西. method 這個方法是定義在proj 中的.

22. lua 中方法也可以作為引數傳遞, 此時不需要require 什麼東東, 類似傳遞方法指標

23. 函式帶多個返回值, 寫法如下, 直接以逗號隔開就好了, 接收的時候也是這樣

24. lua 中用# 符號來獲取長度, 包括獲取字串的長度和table 的長度

25, lua 中的函式也可以有可變引數, 形式如下... 代表可變 引數, 在方法中用args 的表來獲取這個可變引數

26, 其他語言 中& | ~ 分別對應lua 中的and or not.

27. .. 這樣兩個點代表字串拼接

28, lua 中的!=  是~= 這樣寫法

29. lua 還可以使用[[我愛你]] 這樣來表示乙個字串

30, string.gsub(str, sourcestr, replacestr, num)  這個是lua 中的字串中替換字串的方法, 如果

31. 查詢字串中符合某個pattern 的字串, for k in string.gmatch(str) do print(k) end

32, lua 中判斷型別的寫法是字串比較, 例如a 是乙個字串 要判斷的話就是,    if(type(a) =="string") then do end;

33, lua中方法的引數, 是區域性變數, 在外部訪問都是nil, 但是方法內部新定義的變數, 如果不是local修飾 都是全域性變數

34, lua中的乙個.lua 檔案實際上, 就是一些變數, 和方法呼叫, 和一些方法定義,沒有寫在function 裡面的都相當於這個檔案的入口, 也就相當於main 方法, 這樣理解的話, 就成了每個檔案都有乙個單獨的main方法,  每個檔案還可以有返回值,   main方法中的變數是可以在其他function裡面用的, main方法中的全域性變數, 是在其他檔案中都可以訪問的, 但是local的就不行, 還有就是這個main方法是從上往下, 如果執行乙個在下面定義的方法, 就會報錯. nil.

我的 lua 問題集

lua中判斷字串中是否有中文字元 主要是判斷當前的值是否大於 127.2014 10 17 對於lua中物件的概念,一直在引用的過程中有個錯誤。就是在呼叫函式的時候,應該用 object method 用的書冒號。對於lua中的require,require filename 在當前目錄下呼叫當前目...

lua學習 遊戲中的Lua

lua作為一種指令碼語言,可以快速地開發遊戲的原型。提高遊戲的開發效率。最熟悉不過的就是作為魔獸世界 博德之門 憤怒的小鳥等遊戲的指令碼語言。但是,具體來說,lua在遊戲中可以做什麼呢?在遊戲中,lua可以用來完成下面這些工作 編輯遊戲的使用者介面 定義 儲存和管理基礎遊戲資料 管理實時遊戲事件 建...

Lua基礎學習 Lua函式

函式主要用途 1 是作為呼叫語句使用。2 作為賦值語句的表示式使用。語法 區域性 全域性 function fun name 引數列表 函式體endfunction 定義函式關鍵字注意 1 在使用 lua 函式 變數時一定要先定義函式 變數 2 lua 函式不支援引數預設值,可以使用 or 解決。如...