a=;
for k,v in
ipairs(a) do
print(k,v);
endprint("--------------")
for k,v in
pairs(a) do
print(k,v)
end
1 a
2 b
3 c
4 d
5 e
--------------
2 b
3 c
1 a
4 d
5 e
window =
setmetatable(window, window);
--對不存在的key進行獲取時,就會觸發__index
window.__index = function
(t, k)
return
1000; end
--對不存在的key進行賦值時,就會觸發__newindex
window.__newindex = function
(t, k, v)
print("no!") end
----rawget
print(window.a);--1000,因為使用了__index
print(rawget(window, a));--nil
--rawset
window.b = 1;--no!
print(window.b);--1000
rawset(window, "b", 500);
print(window.b);--500
window.__newindex = function
(t, k, v)
rawset(window, k, v); end
mytable = setmetatable(, )
mytable.key1 = "new value"
mytable.key2 = 4
print(mytable.key1,mytable.key2) -->new value "4"
function
a(i)
print(i);
endfunction
b(i)
print(i);
error("a error!!");
end--pcall,第乙個是函式,然後是該函式的引數
--true表示執行後沒錯誤,否則有錯誤
print(pcall(a,33));--33 true
print(pcall(b,34));--34 false
------------------------------------------
print("-----------");
functionc()
print("進行錯誤處理");
end--xpcall,第乙個是函式,然後是錯誤處理函式
xpcall(a,c);--nil
xpcall(b,c);--nil 進行錯誤處理
--assert
local
function
add(a,b)
assert(type(a) == "number", "a 不是乙個數字")
assert(type(b) == "number", "b 不是乙個數字")
return a+b
endadd(10)
--error
error (message [, level])
lua常用一些功能
lua在openresty中獲取請求的請求頭 local head table ngx.req.get headers 由於table型別,無法直接使用ngx.say 顯示,需要轉換為cjson local cjson require cjson local tab list cjson.encod...
CString的一些常用方法
cstringleft int ncount const 從左邊1開始獲取前ncount 個字元 cstringmid int nfirst const 從左邊第ncount 1 個字元開始,獲取後面所有的字元 cstringmid int nfirst,int ncount const 從左邊第n...
NSString的一些常用方法
nsstring 方法名名詞開頭的不會改變當前物件的內容,動詞開頭會改變物件的內容 把字串str通過字符集 分割 nsstring str aaaa a a s d sd.exe nsarray arr str componentsseparatedbycharactersinset nschara...