works:programmer:lua:index

This is an old revision of the document!


LUA

Пример простого класса

local QEngine = {}
QEngine.__index = QEngine
 
function QEngine:New(name)
  local retn = {}
  setmetatable(retn, QEngine)
  retn.name = name
  return retn
end
 
function QEngine:SetName(name)
  self.name = name
end
 
function QEngine:GetName()
  return self.name
end
 
local Q_trans = QEngine:New("Magic")
print(Q_trans:GetName())
Q_trans:SetName("Hello World!")
print(Q_trans:GetName())

В чем разница между : и . в функциях lua

Разница лишь в том что что используя : функции не нужно передавать self как параметр. См. Пример

function MyClass:Func(a)
  self.name = a
end
 
function MyClass.Func2(self, a)
  self.name = a
end
 
object:Func("hello")
object.Func2(object, "hello")
works/programmer/lua/index.1549336039.txt.gz · Last modified: 2019/02/05 03:07 by Chugreev Eugene