不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2019-03-30 23:12  分类:OpenResty_Lua  编辑

从 Lua 5.1 语言添加了对模块和包的支持。一个 Lua 模块的数据结构是用一个 Lua 值(通常是一个 Lua 表或者 Lua 函数)。一个 Lua 模块代码就是一个会返回这个 Lua 值的代码块。

作者:php-note.com  发布于:2019-03-30 23:09  分类:OpenResty_Lua  编辑

调用回调函数,并把一个数组参数作为回调函数的参数。

local args = {...} or {}
method_name(unpack(args, 1, table.maxn(args)))
作者:php-note.com  发布于:2019-03-30 23:04  分类:OpenResty_Lua  编辑

Lua 具有一项与众不同的特性,允许函数返回多个值。Lua 的库函数中,有一些就是返回多个值

作者:php-note.com  发布于:2019-03-30 23:00  分类:OpenResty_Lua  编辑

Lua 函数的参数大部分是按值传递的。值传递就是调用函数时,实参把它的值通过赋值运算传递给形参,然后形参的改变和实参就没有关系了。在这个过程中,实参是通过它在参数表中的位置与形参匹配起来的。

作者:php-note.com  发布于:2019-03-30 22:56  分类:OpenResty_Lua  编辑

Lua 使用关键字 function 定义函数,语法如下:

function function_name (arc)  -- arc 表示参数列表,函数的参数列表可以为空
   -- body
end
作者:php-note.com  发布于:2019-03-30 22:52  分类:OpenResty_Lua  编辑

在 Lua 中,函数是一种对语句和表达式进行抽象的主要机制。函数既可以完成某项特定的任务,也可以只做一些计算并返回结果。在第一种情况中,一句函数调用被视为一条语句;而在第二种情况中,则将其视为一句表达式

作者:php-note.com  发布于:2019-03-30 22:49  分类:OpenResty_Lua  编辑

语句 break 用来终止 while、repeat 和 for 三种循环的执行,并跳出当前循环体, 继续执行当前循环之后的语句。

作者:php-note.com  发布于:2019-03-30 22:37  分类:OpenResty_Lua  编辑

数字型 for 的语法如下:

for var = begin, finish, step do
    --body
end
作者:php-note.com  发布于:2019-03-30 22:32  分类:OpenResty_Lua  编辑

Lua 中的 repeat 控制结构类似于其他语言(如:C++ 语言)中的 do-while,但是控制方式是刚好相反的。简单点说,执行 repeat 循环体后,直到 until 的条件为真时才结束,而其他语言(如:C++ 语言)的 do-while 则是当条件为假时就结束循环。

作者:php-note.com  发布于:2019-03-30 22:25  分类:OpenResty_Lua  编辑

Lua 跟其他常见语言一样,提供了 while 控制结构,语法上也没有什么特别的。但是没有提供 do-while 型的控制结构,但是提供了功能相当的 repeat。

while 型控制结构语法如下,当表达式值为假(即 false 或 nil)时结束循环。也可以使用 break 语言提前跳出循环。

while 表达式 do
    --body
end