lua學習筆記

2021-10-12 12:33:04 字數 1175 閱讀 9203

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...