模組編寫與呼叫

2021-10-11 22:42:17 字數 1159 閱讀 9372

lua允許我們編寫自定義模組以便後面呼叫,在編寫模組之前我們先認識2個知識點

1.lua語言中陣列,模組其實都是table**。

2.在之前的lua基本語法裡我們知道函式是可以賦值給變數的

構建的函式新增到模組中,好幾種方法:

先構建函式,再新增到模組中;

直接構建模組函式方法。這種方法下有各種實現方法。

--區域性表封裝模組

local m =

--屬性

m.date =

"20201212"

m.author =

"fengzhendong"

--方法

--先構建函式,再新增到模組中

local function add(a1,a2)

return

(a1+a2)

end--將函式加到模組中

m.add = add

--直接構建模組函式方法1

function m.sub(a1,a2)

return

(a1-a2)

end--直接構建函式模組方法2

m["shownum"

]=function(p)

return 123

endreturn m

require 函式的呼叫形式為 require 「模組名」。該呼叫會返回乙個由模組函式組成的 table,並且還會定義乙個包含該 table 的全域性變數。require不僅可以呼叫lua中的模組,也可以呼叫c語言的標頭檔案,這樣就可以直接利用其中定義的函式。

local m = require(

"melon"

)for k,v in pairs(m)

do print(k,v)

endprint(

"**********"

)print(m.add(1,2))

print(m.sub(1,2))

print(m.shownum(

))

-- 呼叫c語言中的math標頭檔案

local math = require(

"math"

)print(math.sin(3.14)) --> 0.0015926529164868

C 模組呼叫 C 編寫模組

c 模組呼叫 c 編寫模組 涉及知識點 1 ifdef cplusplus extern c 處理其中的 要明白為何使用extern c 還得從cpp 中對函式的過載處理開始說起。在c 中,為了支援過載機制,在編譯生成的彙編碼中,要對函式的名字進行一些處理,加入比如函式的返 回型別等等.而在c 中,...

MATLAB 函式編寫與呼叫

之前寫code都是將所有的實現放在同乙個.m檔案,導致程式很混亂冗長,過了幾天容易忘記,不便於後期修改維護,於是開始學習將程式封裝。即將程式封裝成函式,再呼叫,就比較清晰。語法 function 輸出引數列表 函式名 輸入引數列表 注 此語句結尾沒有分號 注釋部分 函式體如 將整個函式編寫完後,接下...

DLL 的編寫與呼叫 入門

一直呼叫別人寫的動態庫,也不知道到底是什麼是動態主庫,今天沒事自己用vc6.0寫個 純粹練手,高手就不要看了 心得 code wins arguments.勝於雄辯!facebook 非常簡單 一 新建動態庫 二 呼叫自己寫的動態庫 兩種方式 一 vc6新建乙個動態鏈結庫工程 firstdemo 1...