Lua 教程

分类:后端教程
标签:

lua

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。

 

目录

标题 说明
Lua 环境安装 本章介绍的主要为Lua的环境安装
Lua 基本语法 Lua 基本语法 Lua 学习起来非常简单,我们可以创建第一个 Lua 程序!第一个 Lua 程序 交互式编程Lua 提供了交互式编程模式。我们可以在命令行中输入程序并立即查看效果。Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用: $ lua -i $ Lua 5.3.0Copyright (C) 1994-2015 , PUC-Rio>在命令行中,输入以下命令: > print("Hello World!") 接着我们按下回车键,输出结果如下: > print(
Lua 数据类型 Lua 数据类型Lua是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。
Lua 变量 Lua 变量 变量在使用前,必须在代码中进行声明,即创建该变量。编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值。 Lua 变量有三种类型:全局变量、局部变量、表中的域。 Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显示声明为局部变量。
Lua 循环 Lua 循环很多情况下我们需要做一些有规律性的重复操作,因此在程序中就需要重复执行某些语句。 一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。 循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。
Lua 流程控制 Lua 流程控制Lua 编程语言流程控制语句通过程序设定一个或多个条件语句来设定。在条件为 true 时执行指定程序代码,在条件为 false 时执行其他指定代码。 以下是典型的流程控制流程图:控制结构的条件表达式结果可以是任何值,Lua认为false和nil为假,true和非nil为真。
Lua 函数 Lua 函数 在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。 Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print()函数可以将传入的参数打印在控制台上。 Lua 函数主要有两种用途:1.完成指定的任务,这种情况下函数作为调用语句使用;2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。
Lua 运算符 Lua 运算符 运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:算术运算符 关系运算符 逻辑运算符 其他运算符算术运算符 下表列出了 Lua 语言中的常用算术运算符,设定 A 的值为10,B 的值为 20:操作符描述实例 +加法 A + B 输出结果 30 -减法 A - B 输出结果 -10 *乘法 A * B 输出结果 200 /除法 B / A w输出结果 2 %取余 B % A 输出结果 0 ^乘幂 A^2 输出结果 100 -负号 -A 输出结果
Lua 字符串 Lua 字符串 字符串或串(String)是由数字、字母、下划线组成的一串字符。 Lua 语言中字符串可以使用以下三种方式来表示:单引号间的一串字符。 双引号间的一串字符。 [[和]]间的一串字符。以上三种方式的字符串实例如下: string1 = "Lua"print(""字符串 1 是"",string1)string2 = ''print("字符串 2 是",string2)string3 = [["Lua 教程"]]print("字符串 3 是",string3) 以上代码执行输出结果为: "字
Lua 数组 Lua 数组 数组,就是相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数组。 Lua 数组的索引键值可以使用整数表示,数组的大小不是固定的。一维数组 一维数组是最简单的数组,其逻辑结构是线性表。一维数组可以用for循环出数组中的元素,如下实例: array = {"Lua", "Tutorial"}for i= 0, 2 do print(array[i])end 以上代码执行输出结果为: nilLuaTutorial正如你所看到的,我们可以使用整数索引来访问数组元素,如果知道的索引没有值
Lua 迭代器 Lua 迭代器 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址 在Lua中迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。泛型 for 迭代器 泛型 for 在自己内部保存迭代函数,实际上它保存三个值:迭代函数、状态常量、控制变量。
Lua table(表) Lua table(表) table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数字、字典等。 Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。 Lua table 是不固定大小的,你可以根据自己需要进行扩容。
Lua 模块与包 Lua 模块与包 模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。 Lua 的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。
Lua 元表(Metatable) Lua 元表(Metatable)在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。 因此 Lua 提供了元表(Metatable),允许我们改变table的行为,每个行为关联了对应的元方法。
Lua 协同程序(coroutine) Lua 协同程序(coroutine)什么是协同(coroutine)? Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。
Lua 文件 I/O Lua 文件 I/OLua I/O 库用于读取和处理文件。分为简单模式(和C一样)、完全模式。简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。 完全模式(complete model) 使用外部的文件句柄来实现。
Lua 错误处理 Lua 错误处理程序运行中错误处理是必要的,在我们进行文件操作,数据转移及web service 调用过程中都会出现不可预期的错误。如果不注重错误信息的处理,就会照成信息泄露,程序无法运行等情况。 任何程序语言中,都需要错误处理。错误类型有:语法错误 运行错误语法错误语法错误通常是由于对程序的组件(如运算符、表达式)使用不当引起的。
Lua 调试(Debug) Lua 调试(Debug)Lua 提供了 debug 库用于提供创建我们自定义调速器的功能。Lua 本身并未有内置的调速器,但很多开发者共享了他们的 Lua 调速器代码。 Lua 中 debug 库包含以下函数:序号方法 & 用途 1.debug(): 进入一个用户交互模式,运行用户输入的每个字符串。
Lua 垃圾回收 Lua 垃圾回收Lua 采用了自动内存管理。 这意味着你不用操心新创建的对象需要的内存如何分配出来, 也不用考虑在对象不再被使用后怎样释放它们所占用的内存。Lua 运行了一个垃圾收集器来收集所有死对象 (即在 Lua 中不可能再访问到的对象)来完成自动内存管理的工作。
Lua 面向对象 Lua 面向对象面向对象编程(Object Oriented Programming,OOP)是一种非常流行的计算机编程架构。以下几种编程语言都支持面向对象编程: C++ Java Objective-C Smalltalk C# Ruby面向对象特征1) 封装:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。
Lua 数据库访问 Lua 数据库访问 本文主要为大家介绍 Lua 数据库的操作库:LuaSQL。他是开源的,支持的数据库有:ODBC, ADO, Oracle, MySQL, SQLite 和 PostgreSQL。 本文为大家介绍MySQL的数据库连接。 LuaSQL 可以使用 LuaRocks 来安装可以根据需要安装你需要的数据库驱动。

现在开始学习Lua 教程第一章 : Lua 环境安装


本教程固定链接:http://www.rumen5.com/61386.html

上一篇:Go 语言教程

下一篇:ruby 教程

QQ空间新浪微博腾讯微博人人网微信