码迷,mamicode.com
首页 > 其他好文 > 详细

初识lua

时间:2018-02-27 17:35:27      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:href   模式匹配   函数式   分享   ide   源码包   面向过程   语言   安全   

  经常看到别人在讨论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

标签:href   模式匹配   函数式   分享   ide   源码包   面向过程   语言   安全   

原文地址:https://www.cnblogs.com/leewq/p/8479642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!