Lua 教程

lua

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

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


设计目的

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


Lua 特性

  • 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。

  • 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。

  • 其它特性:

    • 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);

    • 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;

    • 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;

    • 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。


Lua 应用场景

  • 游戏开发

  • 独立应用脚本

  • Web 应用脚本

  • 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench

  • 安全系统,如入侵检测系统


第一个 Lua 程序

接下来我们使用 Lua 来输出"Hello World!"

print("Hello World!")

运行后,会在屏幕上显示 Hello, world!。

推荐阅读:
面试都会问你为什么你从上一家公司离职的真实意思   阅读:10719centos7中颁发CA证书并开启web https   阅读:6803网站性能优化-页面静态缓存   阅读:5269爱编程,也爱健康   阅读:4038centos 7 安装 mysql-5.7   阅读:6630给 centos 7 安装桌面环境   阅读:16457纯干货,程序员面试的超实用技巧   阅读:4035浅谈javascript的函数节流   阅读:4414linux命令中执行php脚本   阅读:7553php打印三角形   阅读:9011mysql5.7主从同步中binlog同步模式详解   阅读:6427TCP的三次握手(建立连接)和四次挥手(关闭连接)   阅读:3101phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:11833mysql 为什么添加索引可以提高访问速度   阅读:5740web性能测试工具ab的测试方法   阅读:4383linux教程,鸟哥私房菜(pdf全集)   阅读:9406用php从1乘到100的值   阅读:6008给网站添加一键新浪微博登录的功能   阅读:6239给php7安装redis扩展库   阅读:7946mysql 为什么添加索引可以提高访问速度   阅读:5740企业让你去面试,可能不是真的招人   阅读:5670php打印三角形   阅读:9011mongodb设置shell开机启动脚本   阅读:9515小米手机端商城rem适配原理   阅读:6471面试的时候和你谈理想,是理想or入坑?   阅读:9856php冒泡排序法   阅读:13734session与cookie的区别   阅读:3988centos7中颁发CA证书并开启web https   阅读:6803centos 7 添加 redis 3.2.9 开机启动脚本   阅读:9063javascript对cookie操作详细代码函数   阅读:5059浅谈javascript的函数节流   阅读:4414人性漫画:打工与创业的残酷区别   阅读:4578centos7中颁发CA证书并开启web https   阅读:6803web性能测试工具ab的测试方法   阅读:4383javascript点击复制内容   阅读:6453解决 nginx 413 request entity too large   阅读:4214php 统计网页打开耗时和脚本运行内存   阅读:6502php打印九九加法表   阅读:9694php打印九九加法表   阅读:9694“米粉节”背后的故事——小米网抢购系统开发实践   阅读:3912栈和堆的区别   阅读:4750给网站添加一键qq登录的功能   阅读:7021php设置cookie为HttpOnly防止XSS攻击   阅读:12204javascript获取两个日期间的所有日期   阅读:6242centos 7.2 添加php7 的 php-fpm 开机启动   阅读:23703浅谈javascript的函数节流   阅读:4414给网站添加一键qq登录的功能   阅读:7021什么是天使轮?什么是A轮融资?B轮融资?   阅读:4655封装php redis缓存操作类   阅读:8703栈和堆的区别   阅读:4750