OpenResty完全开发指南:构建百万级别并发的Web应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.1 简介

Lua语言最初的设计目标是要能够嵌入到其他应用程序里,所以它天生就非常“轻量级”,语法简洁优雅,很容易学习,任何一个有初级编程经验的人都可以在几天之内完全掌握并投入实际开发工作。

但“轻量级”并不意味着劣化,比起其他脚本语言来说Lua的功能也毫不逊色,该有的特性都有,而且表(table)结构十分灵活,能够模拟出其他语言里的数组、集合、字典、类、名字空间等特性,此外还提供闭包(closure)支持函数式编程,提供协程(coroutine)支持并发编程,功能非常丰富。

Lua语言小巧紧凑,本身只有一个精简的核心和最基本的库,所以代码的执行效率非常高,是所有脚本语言中速度最快的,这也使得它易于被移植或嵌入到各种软硬件平台,实现脚本化的扩展和定制功能,实用性很强。OpenResty选中它正是看中了这个特性。

目前Lua语言有5.1、5.2和5.3三个主要的版本,版本之间有一些语法上的差异,不完全兼容。OpenResty使用的是Lua 5.1+LuaJIT扩展,本章简要介绍Lua 5.1,第4章研究LuaJIT的扩展功能。篇幅所限本书只能择要介绍Lua语言里基本的部分,不可能面面俱到,请参考http://www.lua. org/manual/5.1/manual.html,另有一个较全面的中文网站http://book.luaer.cn/。