lua中单例的使用

--test
local config = {}

function config:new(o)
  o = o or {}
  setmetatable(o,{__index = self})
  return o
end

function config:Instance()
  if self.instance == nil then
    self.instance = self:new()
  end
  return self.instance
end

function config:Func()
  self.index = self.index or 0
  self.index = self.index + 1
  print("self.index",self.index)
end

return config
--test2
local test = require "test"
local test1 = test:Instance()
test1:Func()
local test2 = test:Instance()
test2:Func()
local test3 = test:new()
test3:Func()
if test1 == test2 then
  print("test1 == test2")
else
  print("test1 ~= test2")
end
if test1 == test3 then
  print("test1 == test3")
else
  print("test1 ~= test3")
end

--output:
--self.index    1
--self.index    2
--self.index    1
--test1 == test2
--test1 ~= test3

参考网址:lua面向对象实现

未完待续

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值