Lua学习笔记之table

零散知识点记录

  1. table的拷贝是浅拷贝,若要深拷贝A=B则需要遍历B中的元素,并将其一一对应赋值给A。
  2. 一个table刚初始化时,是没有metatable的,必须通过setmetatable给table赋予metatable,table才有metatable。所以若想直接用table()来初始化一个table A,需要自定义一个拥有自定义的__call函数的table B,再用setmetatable(A,B)来赋予A一个metatable B。
Class = {}
m = {}

function m:__call( ... )
    -- body
end

setmetatable(Class, m)
    3.

你可能感兴趣的:(编程语言)