Nging中的Lua操作简介
Lua
轻量小巧的脚本语言, 可以嵌入到其他应用程序中, 提供灵活的扩展定制功能
可用于游戏开发、独立应用脚本、文本应用脚本、扩展和数据库插件、系统安全上
安装lua
$ wget https://www.lua.org/ftp/lua-5.4.1.tar.gz
$ tar -zxvf lua-5.4.1.tar.gz
$ cd lua-5.4.1
$ make linux test # 测试编译环境
$ sudo make install
$ lua -v
Lua语法
命令行运行与脚本式运行
#! /usr/local/bin/lua
print('hello,lua!!!')
注释
**单行注释 **
-- print('hello,lua!!!')
多行注释
--[[
print('hello,lua!!!')
print('hello,lua!!!')
print('hello,lua!!!')
--]]
取消多行注释
第一个注释符前加一个 -
---[[
print('hello,lua!!!')
print('hello,lua!!!')
print('hello,lua!!!')
--]]
标识符
变量名可以使用字母数字下划线, 由于lua保留字使用下划线加大写字母, 如_VERSION
, 应避免冲突
关键字
and | break | do | else |
---|---|---|---|
elseif | end | false | for |
function | if | in | local |
nil | not | or | repeat |
return | then | true | until |
while | goto |
运算符
算术运算符 | 关系运算符 | 逻辑运算符 | 其他运算符 |
---|---|---|---|
+ 加法 |
== 等于 |
and 逻辑与 && |
.. 字符串连接 |
- 减法 |
~= 不等于 |
or 逻辑或 ` |
|
* 乘法 |
> 大于 |
not 逻辑非 ! |
|
/ 除法 |
< 小于 |
||
% 取余 |
>= 大于等于 |
||
^ 乘幂 |
<= 小于等于 |
||
- 负号 |
全局/局部变量
不声明则为全局变量, 若未提前赋值, 默认为nil
, 声明局部变量, 需要使用local
关键字
数据类型
数据类型 | 名称 | 简介 |
---|---|---|
nil | 空, 无效值 | 可用于移除变量,只需要将该变量名赋值为nil |
boolean | 布尔 , true/false | 可用于条件判断, false/nil为假, 其余均为真 |
number | 数值 | 只包含两种:整型(integer)和双精度浮点型(float) |
string | 字符串 | 可用单双引号定义, 也可以使用[[ 多行文字 ]] |
function | 函数 | 使用function 关键字定义, 以end 结尾 |
table | 表 | 本质为一种辅助数组, 表示数组,集合,记录等 可以使用用 {} 定义, 默认索引从1开始 |
thread | 线程 | 用于执行协同程序 |
userdata | 用户数据 | 用于表示由应用程序或C/C++语言库锁创建的类型 |
可以使用type()函数判断给定变量数据类型
function定义及使用
参数可以缺省, 默认为nil, 也可以多传, 多余参数被舍弃
也可以使用可变参数...
定义传参
控制结构-条件判断
lua中的条件判断通过if then