调用代码前先定义函数

    我们将得到如下错误:

    1. luajit: test.lua:2: attempt to call global 'add_one' (a nil value)
    2. test.lua:2: in main chunk

    等价于

      一般地,由于全局变量是每个请求的生命期,因此,以此种方式定义的函数的生命期也是每个请求的。为了避免每个请求创建和销毁 Lua closure 的开销,建议将函数的定义都放置在自己的 Lua module 中,例如:

      1. local my_module = require("my_module")
      2. my_module.foo()

      因为 Lua module 只会在第一次请求时加载一次(除非显式禁用了 配置指令),后续请求便可直接复用。