Bootstrap

lua方法的定义 调用

  1. 冒号和点来定义个方法
  2. 当通过冒号定义方法的时候 默认传一个参数 self ,而使用点定义的时候则不会传递一个默认的self。
  3. 使用冒号定义方法,可以使用点来调用,如果不显式的把自身当做第一个参数传递的话,那么就会把第一个参数当做自身赋值给self ,参数就会少一个。
  4. 使用点定义的方法 也可以使用冒号调用,但是如果有两个参数以上的话, 前一个参数 接收的都是自身,最好还是别这么调用。

附:

person = {name = "ttt",age = 30}
 -- 1
-- person.eat = function ()
--     print("吃饭")
-- end
-- 2 
function person.eat()
    print("吃饭")
    print(person.name)
end

function person:names(bbb,pp)
    print(self.name.."====")
    print(bbb.."++++")
    print(pp)
end

function person.run(per,cc,rr)
   print(cc.age)
   print(per.age)
   print(rr)
end

person.eat()

person:names(5,6)
person.names(person,4,90)
person:eat()
person:run(person,34)
 

输出结果:

吃饭
ttt
ttt====
5++++
6
ttt====
4++++
90
吃饭
ttt
30
30
34

 

;