初识lua

Posted leewq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识lua相关的知识,希望对你有一定的参考价值。

  经常看到别人在讨论redis lua,说其如何如何好用,如何如何强大。那么lua到底是什么呢?

  接下来,我们对lua进行一个入门级了解。 

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

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

为什么要使用lua呢

  其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

  知乎上给出的答案更精彩,我们来看下:

其一:

技术分享图片

其二:

技术分享图片

  由此,可以知道lua广泛应用与游戏邻域,但它绝不仅限于游戏领域。因为它的特性。

lua特性

  • 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。
  • 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
  • 其它特性:
    • 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
    • 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
    • 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
    • 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。

lua应用场景

  • 游戏开发
  • 独立应用脚本
  • Web 应用脚本
  • 扩展和数据库插件如:mysql Proxy 和 MySQL WorkBench
  • 安全系统,如入侵检测系统

lua环境安装

  Linux & Mac上安装 Lua 安装非常简单,只需要下载源码包并在终端解压编译即可,本文使用了5.3.0版本进行安装:

linux系统上安装

curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz
tar zxf lua-5.3.0.tar.gz
cd lua-5.3.0
make linux test
make install

Mac OS X系统上安装

curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz
tar zxf lua-5.3.0.tar.gz
cd lua-5.3.0
make macosx test
make install

window系统上安装

  window下你可以使用一个叫"SciTE"的IDE环境来执行lua程序,下载地址为:

  双击安装后即可在该环境下编写 Lua 程序并运行。

  你也可以使用 Lua 官方推荐的方法使用 LuaDist:http://luadist.org/

 

hello world

  我们创建一个 HelloWorld.lua 文件,代码如下:

print("Hello World!")

执行以下命令:

$ lua HelloWorld.lua

输出结果为:

Hello World!
 

  这就是lua的入门了解。具体语法和使用,包括redis内置lua解释器会在后面学习中补充。

以上是关于初识lua的主要内容,如果未能解决你的问题,请参考以下文章

初识lua

Lua学习——初识Lua

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Lua,Lua的MAC端安装

openresty(nginx+lua)初识