Lua 基本语法

  1. 交互式编程

    • 通过命令 lua -i 或 lua 来启用;
  2. 脚本式编程

    • 将 Lua 程序代码保存到一个以 lua 结尾的文件,并执行,该模式称为脚本式编程;
  3. 注释

    • 两个减号是单行注释:

    • 多行注释
      –[[
      多行注释
      多行注释
      –]]
  4. 变量

    • 以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上 0 个或多个字母,下划线,数字(0 到 9);
    • 最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的;
  5. 全局变量

    • 默认情况下,变量总是认为是全局的;
    • 给一个变量赋值后即创建了这个全局变量, 访问一个没有初始化的全局变量结果是:nil;
  6. 关键词

    关键词共计:22 个
    andbreakdoelse
    elseifendfalsefor
    functionifinlocal
    nilnotorrepeat
    returnthentrueuntil
    whilegoto

Lua 数据类型

  1. Lua 中有 8 个基本类型,使用 ** type ** 函数测试给定变量或者值的类型:

    数据类型 描述 备注
    nil 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。
    boolean 包含两个值:false和true。
    number 表示双精度类型的实浮点数
    string 字符串由一对双引号或单引号来表示
    function 由 C 或 Lua 编写的函数
    userdata 表示任意存储在变量中的C数据结构
    thread 表示执行的独立线路,用于执行协同程序
    table Lua 中的表(table)其实是一个"关联数组"(associative arrays),
    数组的索引可以是数字、字符串或表类型。
    Lua 里,table 的创建是通过"构造表达式"来完成,
    最简单构造表达式是{},用来创建一个空表。

Lua 变量

- 变量先生命后使用,默认值均为 nil;
- 可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量;
- table类型 的索引使用方括号 []。Lua 也提供了 . 操作;

Lua 循环

  1. 循环方式

    • while
    • for
    • repeat…until
  2. 循环控制语句

    • break;
    • goto;

Lua 流程控制

- if 语句;
- if...else 语句;

Lua 函数

  1. 定义:

    optional_function_scope function function_name( argument1, argument2, argument3…, argumentn)
    function_body
    return result_params_comma_separated
    end
    - optional_function_scope 默认为全局函数,如果你需要设置函数为局部函数需要使用关键字 loca
    - function_name: 指定函数名称。
    - argumentn: 函数参数,多个参数以逗号隔开,函数也可以不带参数;
    - function_body: 函数体,函数中需要执行的代码语句块。
    - result_params_comma_separated: 函数返回值,Lua语言函数可以返回多个值,每个值以逗号隔开

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function max(num1, num2)
    if (num1 > num2) then
    result = num1;
    else
    result = num2;
    end

    return result;
    end

    print("max =", max(10, 4))
    print("max =", max(5, 6))