1樓:聆聽隨風
可以,就像變數一樣使用
--函式
function g_func(param)end變數
local g_number = 1
--做事情
function do**(num, fn)--傳進來的變數g_number
local number = num
--傳進來的函式g_func
fn(value)
end--主函式
function main()
--把變數和函式傳入do**函式
do**(g_number , g_func)end
如何把lua的函式作為**函式當引數傳給c**
2樓:埖**押諂
遊戲中類似的問題很多,比如設定trigger,當玩家公升級死亡的時候呼叫指令碼函式。
初級方法,全域性的luastate,全域性函式,把函式名註冊到trigger中去。
更進一步,希望支援coroutine,那麼把luastate和ref一起註冊
注意到,在coroutine也要記錄註冊的物件,在coroutine結束的地方需要取消註冊。如果不這麼做,而是武斷的:co = nilcollectgarbage 'collect'
lua同乙個方法名不同引數視為不同函式嗎
3樓:匿名使用者
在c裡面是不行的,編譯器會報錯。
但是在c++和lua是允許的,允許函式的過載,但是過載是有條件的
lua中的handler和function作為函式引數的不同
4樓:匿名使用者
可以獲得 但不推薦用 因為debug庫盡量少用的好 function fun()print(debug.getinfo(1).name)endfun()debug庫的東西執行起來效率普遍不高 而且有風險 再就是debug庫很多內容破壞了語法裡的local特性 導致可在外部看到區域性變數。
可以,就像變數一樣使用
--函式
function g_func(param)end變數
local g_number = 1
--做事情
function do**(num, fn)--傳進來的變數g_number
local number = num
--傳進來的函式g_func
fn(value)
end--主函式
function main()
--把變數和函式傳入do**函式
do**(g_number , g_func)end
怎樣給lua指令碼傳遞引數和指令碼怎樣接受這些引數
5樓:一子暴脾氣
兩種方式:
1、指令碼內定義全域性函式(非local的), 然後在別的指令碼require這個指令碼後直接通過名稱版和引數進行呼叫(類似權c函式的呼叫)
2、指令碼內定義乙個message_handler的入口函式(類似main函式),這個入口函式接受乙個msg和一系列的params。然後別的指令碼或函式通過postmessage或者sendmessage函式。向指定指令碼傳遞引數msg和params,進而進行處理
如何定義不定引數函式
不定引數個數 傳遞時要指明其引數型別 還有檔案包含庫 你也沒包含進來 include 函式可變引數巨集包含在此檔案中 屬於c語言的標準庫 給你乙個例子 功能名稱 aveage 通過可變引數巨集來完成n個數的平均值計算入口引數 paranum 引數個數 可能的引數出口引數 平均值float 備註名稱 ...
如何編寫matlab函式檔案,使輸入引數a,b分別為矩形的長
function srect srect a,b switch nargin case 1 srect a a case 2 srect a b otherwise disp 請輸入矩形的長和寬資料!end function m,n rectangle statistics a,b 輸入變數為a,b...
VC中如何執行帶引數的main函式
函式寫好之後需要為main函式提供引數,這個在linux下面是不需要討論的,不過在vc下面還是需要注意一下引數的給定方法和目標檔案的位置問題。函式引數的給定方法 1 project settings debug program arguments 中新增需要的引數,以空格為分隔符,注意不需要程式的名...