Lua (臨時)解決迴圈require報錯的技巧

2021-09-09 05:39:31 字數 1036 閱讀 1052

require "obj"

objmanager = {}

function objmanager.spawnobj(id)

-- 建立並初始化obj

local obj = objectpool.spawn(id)

obj.init()

endfunction objmanager.despawnobj(go)

-- body

end...

local objmanager = require "objmanager"

obj = {}

function obj.init()

-- 進行必要的初始化設定

endfunction obj.update()

-- 銷毀的判斷

if condition then

obj.destroyself()

endendfunction obj.destroyself()

objmanager.despawnobj(self)

end...

會出現迴圈require的錯誤

改為以下形式

...

function objmanager.spawnobj(id)

-- 建立並初始化obj

local obj = objectpool.spawn(id)

-- 在這裡建立obje的自毀函式

function obj.destroyself()

objmanager.despawn(obj)

endobj.init()

end...

-- 刪除這個函式,改為 objmanager.lua 中建立

-- function obj.destroyself()

-- objmanager.despawnobj(self)

-- end

...

Lua模組引入import 和require的區別

lua 中引入乙個模組,可以採用兩種方式 import和require方式,具體的區別在於 import 與require 功能相同,但具有一定程度的自動化特性。假設我們有如下的目錄結構 myclass 中需要載入 myclassbase 和 myclassdata。如果用 require mycl...

lua筆記 for迴圈

範性for的執行過程 首先,初始化,計算in後面表示式的值,表示式應該返回範性for需要的三個值 迭代函式 狀態常量 控制 變數 與多值賦值一樣,如果表示式返回的結果個數不足三個會自動用nil補足,多出部分會被忽略。第二,將狀態常量和控制變數作為引數呼叫迭代函式 注意 對於for結構來說,狀態常量沒...

LUA中各種迴圈

1 while迴圈 while true do end2 for的多種迴圈 數值for迴圈 for 起始值,上限,step do for i 1,5,1 do print i end 泛型for迴圈,迭代陣列 迭代陣列中每個鍵值,in後面跟的是迭代器,可以自定義迭代器ipairs pairs都內建的...