Lua语言快速入门
这篇博客主要是简单的讲解一下Lua的基础知识,涉及的东西不是很深,提供一些学习的思路,对具体的技术不展开介绍,网上资料很多写的都比我好,仅仅为了使用Lua,而不是做基于Lua的项目开发。
1.用法
1、Lua的游戏热更新。
2、Lua轻量级的脚本语言(适合嵌入式系统)
2.场景
介绍几个典型的应用
1、游戏更新(Unity) xLua ToLua ULua。建议大家使用xlua(Tencent维护)
2、Nginx+Lua开发
3、Redis/MySQL+Lua
3.环境准备
- window下安装
http://luaforge.net/projects/luaforwindows/
配置环境变量
- 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
强力推荐 linux。并且常用的都是 Nginx+lua,所以直接使用OpenRestry(网上一堆安装教程)
- 安装完成后
Linux 直接 lua
windows cmd lua -v 查看版本,是否安装成功。
4.IDE
- lua下载包里面有 SciTe 个人觉得不好用,写程序没有自动提示,总觉得在浪费生命。
- Intellij IDEA 的Lua插件,别在idea里面下载(很多都被限制)去JetBrains官网
http://plugins.jetbrains.com/plugin/?idea&pluginId=5055,IDEA安装这个插件。
- 其他编译器(自己百度,我没有用过,只知道有这玩意)
1: LuaDist (官方推荐) http://luadist.org/
2: LuaStudio 国内开发优秀IDE http://www.luastudio.net/ 收费
3: VS lua 插件(babelua插件) https://archive.codeplex.com/?p=babelua
5.知识点(自己脑补)
- 5.1 标志符和关键字 数字下划线字母啥的。
and break do else elseif
end false for function if
in local nil not or repeat
return then true until while
- 5.2 变量
nil boolean string number table print(type("ABc1"))
全局变量 局部变量
- 5.3 数据类型
nil boolean string number table function userdata thread
- 5.4 流程控制语句
if while repeat for 迭代器
- 5.5 表 table
- 5.6 OOP
- 5.7 很多高级的操作。
函数: 迭代器,闭包,模块调用,metatable 协同 IO 垃圾回收
6. 重点
关于Lua语言的学习,大家自己去网上找教程,我不想把博客写成笔记,但是后面几个博客必须有点Lua语言的基础,所以大家着重的看下元表,闭包,文件操作。当然了语言的基本操作都需要会。
接下来,使用Lua语言实现。看作者的博客,都有具体的介绍。
1、单向链表。(Lua学习二)
2、双向链表。(Lua学习三)
3、Nginx+Lua实现,文件上传和下载。(Lua学习四)
4、Nginx+Lua操作MySQL和Redis数据库。(网上一堆资料)