Lua基础

来源:互联网 发布:马克思资本论 知乎 编辑:程序博客网 时间:2024/05/22 07:24

Lua介绍

Lua是一种小巧的脚本语言,作者是巴西人。Lua的所有代码都是由标准的ANSI C编写而成,代码简洁优美,只要是在支持ANSI C的系统上都能够完美的运行。

Lua有如下特点

(1)易嵌入,可以很方便地与C/C++编写的游戏逻辑互相调用;
(2)简单,不涉及任何复杂的编程概念;
(3)轻量,库体积很小,只有几百千子节;
(4)易学习,游戏策划人员也可以使用Lua;
(5)高性能,相对于C/C++原生语言,Lua解析带来的性能损失可以忽略不计。

Lua语法

1.命名规范
Lua中的标志符可以由任意字母组合、数字和下划线构成,不能以数字和下划线打头,并且大小写铭感。

注意:标识符不能使用Lua关键字
Lua包含的关键字如下:

and         break        do        else        elseiftrue        false        for       function    ifin          local        nil       not         orrepeat      return       then      end         untilwhile

2.类型与值
Lua是一种动态类型语言,在语言中没有定义类型的语法,每个值本身就包含了类型信息。
Lua中有8种基础类型

1)nil      // 空2)boolean  // 布尔类型3number   // 数字4string   // 字符串5function // 函数6)table    // 表7)userdata // 自定义数据类型8)thread   // 线程

在Lua中可以使用函数type()来检测一个变量的类型。

local var = nil;print(type(var));       // 输出为:nilvar = 520;print(type(true));      // 输出为:numbervar = "Hello World";print(type(var));       // 输出为:stringvar = print();print(type(var));       // 输出为:functionvar = {};print(type(var));       // 输出为:table

nil
在Lua中nil表示的是一种类型,它只包含一个值nil。任何变量在没有赋值之前都是nil。当给一个全局变量赋值为nil,表示删除该变量。

boolean
boolean有两个值:truefalse,在Lua中只有falsenil表示假,其他情况都为真,数字0也为真。

number
在Lua中,number类型表示实数,不论是浮点数还是整数都是number类型

a = 10;b = 5.20;c = 5e20;

string
在Lua中,字符串表示的是一个字符序列。里面可以包含任意字符,都是用单引号或者双引号括起来的部分

str = "I'm is a string!";

*当需要两个字符串时,可以使用字符串连接操作符

print("Hello".."World!");

*当需要获取字符串的长度时,使用”#”能获取字符串的总长度

a = "Hello World!";print(#a);
1 0