lua模块化

main.lua

local main = require("my")
main.greeting()

my.lua

local foo = {}

local function getname()
    return "Qily"
end

function foo.greeting()
    print("hello "..getname())
end

return foo

说明:

1. 用local和不用local的区别

  local更像是差C++,或者是java中的私有成员或函数,不用local就是全局变量或者函数

  因此,在my.lua中greeting()下需要给外部调用,所以不能加local

2.创建模块(最简单)的方法:创建一个table, 将所有的需要导出的函数放到这个table中,最后返回这个table就可以了

  所以在这里对greeting()函数的声明是:foo.greeting()

  <=>

  foo.greeting = function()

    print("hello "..getname())

  end

3.require函数用来加载模块

posted @ 2017-09-14 17:26  Qily  阅读(377)  评论(0)    收藏  举报