Lua中的原表介紹及其使用舉例

2021-09-27 11:49:07 字數 1408 閱讀 2626

__tostring(a) --字串輸出 ,當呼叫tostring(obj)的時候,會先查詢obj的元方法中的__tostring,如果有就呼叫,沒有就會列印obj的記憶體位址。

使用方法如下:

luamodulenames={}

luamodulenames=setmetatable({},)

function regmodule(modulename,path)

assert(not luamodulenames[modulename],"modulename--> "..modulename .."is already add")

luamodulenames[modulename]=true

endregmodule("name")

regmodule("we")

print(luamodulenames)

print(tostring(luamodulenames))

遞迴列印table

擴充套件:結合原表的__tostring方法,實現c#中object的tostring()方法,例如:local test={},print(test.tostring(...))列印其中的資料結構

A 演算法介紹及其使用舉例

1 a 演算法 a 演算法在人工智慧中是一種典型的啟發式搜尋演算法,啟發中的估價是用估價函式表示的 其中f n 是節點n的估價函式,g n 表示實際狀態空間中從初始節點到n節點的實際代價,h n 是從n到目標節點最佳路徑的估計代價。另外定義h n 為n到目標節點最佳路徑的實際值。如果h n h n ...

Lua中的metatable介紹

setmetatable table,metatable lua 中的每個值都可以用乙個 metatable。這個 metatable 就是乙個原始的 lua table 它用來定義原始值在特定操作下的行為。你可以通過在 metatable 中的特定域設一些值來改變擁有這個 metatable 的值...

舉例簡介Lua中函式的基本用法

複製 如下 function fib n if n 2 then return 1 end return fib n 2 fib n 1 end複製 如下 支援閉包及匿名函式 function adder x 呼叫adder時,會建立用於返回的函式,並且能記住變數x的值 return functio...