lua-users.org
lua manual
luagit**
chunkspy
openresty nginx_lua_module
lua 中值為nil時,相當於c語言的空指標,還是需要小心謹慎。
table使用有幾個易錯點,請看下圖:
local m =
m['search']=
'key'
m['result']=
'value'
--print (type(m))
print
("the length of table m: "
.. table.
getn
(m))
print
(m['search'])
print
(m['result'])
--for k,v in ipairs(m) -[[什麼都沒輸出,為什麼?因為控制變數初始值是按公升序來遍歷的,當key為1時,value為nil,此時便停止了遍歷, 所有什麼結果都沒輸出]]--
for k,v in
pairs
(m)--全部輸出
doprint
(k)print
(v)end
以下**儲存為 lua_test.c,並使用gcc編譯
gcc -fpic -shared lua_test.c -llua -o mytestlib.so
#include
#include
#include
static
intl_add
(lua_state* l)
static lual_reg mylibs=
,};int
luaopen_mytestlib
(lua_state* l)
lua 中使用封裝的介面,/usr/bin/lua test.lua
mytestlib =
require
("mytestlib"
)print
(mytestlib.
add(
"helloworld",2
))
待續 Lua學習筆記 lua堆疊
首先了解一下c 與lua之間的通訊 假設在乙個lua檔案中有如下定義 hello.lua檔案 請注意紅色數字,代表通訊順序 1 c 想獲取lua的myname字串的值,所以它把myname放到lua堆疊 棧頂 以便lua能看到 2 lua從堆疊 棧頂 中獲取myname,此時棧頂再次變為空 3 lu...
lua學習筆記
近日時間比較充裕,學習一下lua語言,順便寫下筆記,方便以後加深學習。c c 呼叫lua動態庫及標頭檔案位址 用於c c 嵌入lua指令碼解析 也可以到或找適合自己的版本。一 hello world 哈哈,先使用經典的hello world帶進門 1.在 執行 鍵入cmd開啟dos視窗,並將當前目錄...
Lua 學習筆記
1 關於table lua 中的 table 是python 中的 list 和 dict 的混合體。t 相當於 t 簡單的看,實際上完全相當於 python 中的 dict 不過實際對於鍵為整數的,是放在 list 中的,方便快速索引。當然基於節省記憶體的考量,對於跳躍的大整數鍵,依然是放在 di...