lua 中容易忘記的細節

2022-09-01 07:24:11 字數 1039 閱讀 6575

1、if 判斷

lua中 nil 和 false 為 假,其餘為真

2、table是否為空

local a = {}

正確是 if next(a) == nil then xx end  而不是 if a == {} then xx end

3、table長度

t =

t[1] = nil

#t ==>3

table.remove(t, 1)

#t ==> 2

通過把元素設為 nil 無法改變 #table(除非最後乙個元素),而table.remove則可以立即更新 #tabale

4、浮點數問題

math.floor(0.58*100) ==> 57

10 == 10.00000000000000001 ==> true

5、and、or

a and b or c (b須為真)

6、break、return

break、return 只能是乙個塊的最後一條語句或者是end、else、until前的一條語句

7、select函式

select(n, ...)返回變長引數中第n個引數

select("#", ...)返回變長引數的長度(含nil)

8、元方法

與算術類元方法不同,關係類元方法不能應用於混合型別

9、函式呼叫

先宣告區域性變數然後再定義,避免遞迴呼叫時呼叫全域性變數(未定義)而產生錯誤

注意:變數僅在定義它的語句完成後才進入範圍,如下是示例是錯誤的

local test = function

(n) test(n-1

) -- 此處呼叫test時,test定義沒有完成

end

容易忘記的sql

mysql 三 表的操作 修改表 修改表名 alter table old table name rename to new table name 新增字段 在表的第乙個位置新增字段 alter table table name add column column name 資料型別 first 新...

linux命令容易忘記的

ls 命令 1 ls h human ls l d 查詢以d開頭的所有檔案資訊在該目錄下 2 ls d d 查詢以d開頭的所有目錄資訊 3 free m 查詢記憶體使用情況。4 du sh 資料夾 檢視資料夾下所有檔案的總大小。5 service mysqld start stop 啟動或關閉資料庫...

html容易忘記的屬性

除去內邊框 cellspacing 0單元格之間的間距 單選按鈕要想生效必須新增name屬性,並且name屬性的值必須一樣 預設選中項使用checked checked 屬性 表單元素中,使用者可以輸入值的時候,可以不加value 文字框,文字域當表單元素中沒有值的時候,需要加value 單選框 核...