# class

a
Animal = { name = "", age = 0 }
function Animal:new (o) 
  o = o or {}
  setmetatable(o, self)
  self.__index = self
  return o
end
function Animal:bark () 
  print(self.name .. ': waor')
end
misha = Animal:new({ name = 'Misha', age = 12 })
misha:bark()
-- string: 'Misha: waor'

ps: 如果要使用 self 关键字。new 方法必须使用 : 声明。并且调用的时候也要记得用 :

# extends

a
Cat = Animal:new()
function Cat:bark ()
  print(self.name .. ': miao')
end
cat = Cat:new {name = 'as', age = 6 }
cat:bark()

# VS Code snippet

n
"new class": {
	"prefix": "newclass",
	"body": [
	  "$1 = { $2 }",
	  "",
	  "function $1:new (o)",
	  "  o = o or {}",
	  "  setmetatable(o, self)",
	  "  self.__index = self",
	  "  return o",
	  "end",
	  "",
	  "$3"
  ]
}

lua 在线调试
sort

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

不会游泳 微信支付

微信支付

不会游泳 支付宝

支付宝

不会游泳 贝宝

贝宝