P41

下面的示例展示了如何在 Lua 中用一张表来实现类的基本要素:成员变量、成员函数以及构造函数。通过冒号语法定义方法,self 会自动指向调用者,从而实现类似面向对象的写法。

   stu={id=100,name="Tom",age=21}--成员变量

   function stu:toString()--成员函数
    return self.id .. self.name .. self.age
   end

  function stu:create(id,name,age)--构造函数
    self.id=id
    self.name=name
    self.age=age
    return stu --返回该表
  end

 local s_= stu:create(100,"any",10)
 print(s_:toString())