小白到高手 Lua 超详细教程

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

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

Lua可以很方便地与其他程序(c++,c#,java等等)进行集成。

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

Lua官网http://www.lua.org/

Lua有以下特性:

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

Lua可以在几乎所有从操作系统和平台进行编译运行,可以很方便的更新代码。而且更新代码后,可以直接在手机上运行,不需要重新安装(后续的热更新方案)。

C#只能在特定的操作系统中进行编译成dll文件,然后打包成安装包在其他平台(Android,IOS等)运行。在移动平台上不能更新替换已有的dll文件,除非重新下载安装包。

四:Lua环境安装

4.1:Linux 系统上安装
下载源码包并在终端解压编译即可,本文使用了5.3.0版本进行安装:

tar zxf lua-5.3.0.tar.gz
cd lua-5.3.0
make linux test
make install

4.2:Mac 系统上安装
下载源码包并在终端解压编译即可,本文使用了5.3.0版本进行安装:

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

4.3:Windows 系统上安装
window下你可以使用一个叫"SciTE"的IDE环境来执行lua程序,下载exe文件双击安装后即可在该环境下编写 Lua 程序并运行。下载地址为:

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

五:基本语法

基本语法可以参考菜鸟教程:https://www.runoob.com/lua/lua-data-types.html

相关文章
|
6月前
|
C语言
Lua快速入门教程1
Lua快速入门教程1
56 2
|
3月前
|
Java API
Java与Lua互相调用简单教程
【8月更文挑战第29天】在软件开发中,Java以其强大的稳定性和广泛的生态系统著称,而Lua则因其轻量级、灵活和嵌入式的特点在脚本编写、游戏开发等领域大放异彩。将两者结合使用,可以充分利用Java的底层能力和Lua的快速开发优势。本文将通过一个简单的教程,介绍如何在Java程序中嵌入并执行Lua脚本,以及如何在Lua中调用Java方法。
92 0
|
消息中间件 JavaScript 小程序
Java与lua互相调用简单教程
Java与lua互相调用简单教程
Java与lua互相调用简单教程
|
IDE C# 开发工具
Lua IDE工具-Intellij IDEA+lua插件配置教程(Chianr出品)
Lua 编译工具IDE-Intellij IDEA 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) ...
5679 0
|
6月前
|
存储 NoSQL Redis
Redis的Lua脚本有什么作用?
Redis Lua脚本用于减少网络开销、实现原子操作及扩展指令集。它能合并操作降低网络延迟,保证原子性,替代不支持回滚的事务。通过脚本,代码复用率提高,且可自定义指令,如实现分布式锁,增强Redis功能和灵活性。
248 1
|
1月前
|
缓存 分布式计算 NoSQL
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
29 2
|
5月前
|
消息中间件 NoSQL Java
Redis系列学习文章分享---第六篇(Redis实战篇--Redis分布式锁+实现思路+误删问题+原子性+lua脚本+Redisson功能介绍+可重入锁+WatchDog机制+multiLock)
Redis系列学习文章分享---第六篇(Redis实战篇--Redis分布式锁+实现思路+误删问题+原子性+lua脚本+Redisson功能介绍+可重入锁+WatchDog机制+multiLock)
227 0
|
2月前
|
存储 JSON Ubuntu
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
|
3月前
|
存储 NoSQL Redis
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决
|
5月前
|
JSON 监控 数据格式
使用Lua代码扩展上网行为管理软件的脚本功能
本文介绍了如何使用Lua脚本增强上网行为管理,包括过滤URL、记录用户访问日志、控制带宽和自动提交监控数据到网站。Lua是一种轻量级语言,适合编写扩展脚本。文中提供多个示例代码,如URL过滤器、用户活动日志记录器和带宽控制器,帮助用户根据需求定制网络管理功能。通过这些示例,用户可以快速掌握Lua在上网行为管理中的应用。
171 4