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!。

推荐阅读:
centos 7 安装 samba 服务   阅读:6667phpexcel 超简单从数据库一键导出数据到excel教程   阅读:7189纯干货,程序员面试的超实用技巧   阅读:4213程序员找工作三要素(必看)   阅读:5578centos 7 安装 redis 3.2.9   阅读:6528php 获取当前前后年、月、星期、日、时分秒的时间   阅读:6614centos 7.2 添加php7 的 php-fpm 开机启动   阅读:24373session与cookie的区别   阅读:4094最简单的Banner轮播淡入淡出效果代码及实现思路(附带源码)   阅读:13119linux教程,鸟哥私房菜(pdf全集)   阅读:9805给php7安装redis扩展库   阅读:8141用php从1加到100的值   阅读:8548centos 7 安装 php-7.1.3   阅读:19939php+redis实现消息队列   阅读:14471给php7安装redis扩展库   阅读:8141linux php7安装yaf扩展   阅读:8328centos 7 添加 redis 3.2.9 开机启动脚本   阅读:9355centos7.3安装mongodb3.6   阅读:7402php+redis实现消息队列   阅读:14471html5 离线缓存的使用   阅读:4288centos 7 添加 redis 3.2.9 开机启动脚本   阅读:9355php 统计网页打开耗时和脚本运行内存   阅读:6714linux教程,鸟哥私房菜(pdf全集)   阅读:9805php连接redis   阅读:5578浅谈javascript的函数节流   阅读:4579mysql5.7主从同步配置   阅读:5532centos 7 忘记root密码   阅读:4730php冒泡排序法   阅读:14158linux教程,鸟哥私房菜(pdf全集)   阅读:9805栈和堆的区别   阅读:4903面试的时候和你谈理想,是理想or入坑?   阅读:10311面试的时候和你谈理想,是理想or入坑?   阅读:10311mongodb设置shell开机启动脚本   阅读:9945mysql5.7主从同步配置   阅读:5532人性漫画:打工与创业的残酷区别   阅读:4780Nginx 配置文件详解   阅读:4623分享:淘宝技术这十年   阅读:4630人性漫画:打工与创业的残酷区别   阅读:4780关于PHP程序员技术职业生涯规划   阅读:2793centos 7 添加 redis 3.2.9 开机启动脚本   阅读:9355csv文件一键导入数据到mysql数据库   阅读:6629mongodb设置shell开机启动脚本   阅读:9945浅谈javascript的函数节流   阅读:4579linux教程,鸟哥私房菜(pdf全集)   阅读:9805一步步带你,如何网站架构   阅读:4046mysql数据一键导出到csv文件   阅读:5554nginx安装redis模块   阅读:5364人性漫画:打工与创业的残酷区别   阅读:4780“米粉节”背后的故事——小米网抢购系统开发实践   阅读:4092mysql共享锁和排他锁详解   阅读:7254