配置nginx+lua开发环境笔记

配置nginx+lua开发环境笔记
由于我是用yum安装的,所以默认把openresty的依赖包以及LuaJIT,ngx_cache_purge等一些内置的插件都安装好了,安装成功可以发现 会发现多出来了如下目录,说明安装成功(/usr/local/openresty 是默认的安装路径) /usr/local/openresty/luajit :luajit环境,luajit类似于java的jit,即即时编译,lua是一种解释语言,通过luajit可以即时编译lua代码到机器代码,得到很好的性能; /usr/local/openresty/lualib...

Lua标准库

Lua标准库
Lua基本语法 Lua变量 Lua数据类型 Lua运算符 Lua算术运算符 Lua关系运算符 Lua逻辑运算符 Lua其他运算符 Lua运算符优先级 Lua循环 Lua while循环 Lua for循环 Lua repeat…until循环 Lua嵌套循环 Lua break语句 Lua决策 Lua if语句 Lua if…else语句 Lua if语句嵌套 Lua函数 Lua字符串 Lua数组 Lua迭代器 Lua表格 Lua模块 Lua元表 Lua协同程序 Lua文件I/O Lua错误处理 Lua调试 Lua垃圾收集 Lua面向对象 Lua W...

Lua游戏编程

Lua游戏编程
Lua用于很多游戏引擎,由于其简单的语言结构和语法。此外,垃圾回收功能通常是其消耗大量的存储器,由于丰富的图形所使用的游戏相当有用。使用一些游戏引擎使用Lua,它们包括: Corona SDK Gideros Mobile ShiVa3D Moai SDK LOVE CryEngine 每个游戏引擎是基于Lua和有丰富的API的集合中的每个这些引擎提供。我们会研究每个简要的功能。 Corona SDK Corona SDK支持iPhone,iPad和Android的跨平台手机游戏...

Lua数据库/MySQL操作

Lua数据库/MySQL操作
对于简单的数据操作,我们可以使用文件,但是,有时候这些文件操作效率不高,可扩展性和强大不好。所以我们可能会经常切换到使用数据库。 LuaSQL是从Lua一些数据库管理系统的一个简单的接口。 LuaSQL它提供了对不同类型的SQL支持库。这包括: SQLite Mysql ODBC 在本教程中,将涵盖Lua中的SQLite和MySQL数据库处理。使用这个通用接口为应尽可能实施于其它类型的数据库。首先,让我们看看如何在MySQL中执...

Lua Web编程

Lua Web编程
Lua是高度灵活的语言,它往往是在多个平台,包括Web应用程序中使用。成立2004年的Kepler社区提供Lua的Web组件开放源码。 虽然,也有使用Lua已经开发了其他的web框架,我们将主要集中在Kepler社区提供的组件。 应用程序和框架 Orbit 是一个lua的MVC Web框架,它是基于WSAPI。 WSAPI是从Lua的Web应用程序抽象的Web主机服务器,是基于许多项目的API。 Xavante是一个Lua的Web服务器,提供了一个WSAPI接口。 Sp...

Lua面向对象

Lua面向对象
面向对象编程(OOP),是指我们在编程的新时代中最常用的编程技术。有多种编程语言的支持OOP其包括: C++ Java Objective-C Smalltalk C# Ruby 面向对象的特性 类: 类是可扩展的模板用来创建对象,提供状态的初始值(成员变量)和行为的实现。 对象: 它是类的实例并具有分配给自己独立的内存。 继承: 它是由变量和类的函数被其他类继承的概念。 封装: 它是将数据和函数相结合的一类内的方法。数据可以在类的...

Lua垃圾收集

Lua垃圾收集
Lua使用基于被内置在Lua某些算法的垃圾收集自动内存管理。可以自动内存管理的结果,作为一个开发者: 没有必要担心的对象分配内存。 无需释放他们时,不再需要可将其设置为nil。 Lua使用运行不时收集死的对象时,不再从Lua程序中访问垃圾收集器。 所有对象,包括表,用户数据,函数,线程,字符串等受自动内存管理。 Lua使用增量标记和使用两个数字来控制其垃圾回收周期即垃圾收集暂停和垃圾收集器的步骤...

Lua调试

Lua调试
Lua提供了一个调试库,它提供了所有的基本功能,创造自己的调试器。即便如此,也没有内置的Lua调试器,Lua为开发者创建很多调试器是开源。 调试Lua库中可用的功能列于下表连同它的用途。 S.N. 方法及用途 1. debug():  进入调试,直到我们输入只在一行中,然后按回车这仍然是积极的互动模式。用户可以在使用其他功能,此模式下检查变量。 2. getfenv(object):  返回对象的环境。 3. gethook(optio...

Lua错误处理

Lua错误处理
需要进行错误处理 错误处理是必要的,因为真实世界中的操作通常需要使用复杂的操作,包括文件操作,数据库事务和web服务调用。没人关心错误的业务,涉及保密信息或金钱交易时造成大的损失。 在任何编程,总是有错误处理的要求。错误可以是两种类型,其中包括, 语法错误 运行时错误 语法错误 因使用不当造成的各种程序组件,如运算符和表达式中出现语法错误。一个简单的例子中的语法错误如下所示。 a == ...

Lua文件I/O

Lua文件I/O
Lua中I/O库用于读取和处理文件。有两种类型的文件操作,在Lua即隐含文件的描述符和明确的文件描述符。 对于下面的例子中,我们将使用一个示例文件test.lua,如下图所示。 -- sample test.lua -- sample2 test.lua 一个简单的文件打开操作使用下面的语句。 file = io.open (filename [, mode]) 各种文件模式列示于下表中。 Mode 描述 "r" 只读模式,就是打开一个现有的文件的默认模式。 "w" 写使能...