【Lua从青铜到王者基础篇】第一篇:Lua初始教程和环境安装
系列文章目录
文章目录
- 系列文章目录
- 前言
- 一、lua教程
- 1.Lua设计目的
- 2.Lua特性
- 3.Lua应用场景
- 4.Lua保存和运行
- 5.Lua目标
- 6.第一个Lua程序
- 二、Lua环境安装
- 1.Linux系统环境安装
- 2.Mac OS x 系统环境安装
- 3.Window 系统环境安装
- 总结
前言
一、lua教程
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于 1993 年开发的,该小组成员有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。
1.Lua设计目的
其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译、运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。 Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。 一个完整的Lua解释器不过200k,在所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
2.Lua特性
- 轻量级
- Lua语言的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快,从而适合嵌入在别的程序里。5.0.2版的Lua的内核小于120KB,而Python的内核大约860KB,Perl的内核大约1.1MB。
- 可扩展
- Lua并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
- 其他特性
- Lua还具有其它一些特性:同时支持面向过程(procedure-oriented)编程和函数式编程(functional programming);自动内存管理;用它可以实现数组,哈希表,集合,对象;语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程 ,并非操作系统所支持的线程)支持;通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。
3.Lua应用场景
- 游戏开发
- 独立应用脚本
- Web 应用脚本
- 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench
- 安全系统,如入侵检测系统
4.Lua保存和运行
运行可以通过 Lua 的交互模式,也可以用记事本编辑代码保存为 .lua 的格式,通过 Lua 编译器运行。也可以通过第三方工具,将 Lua 打包独立运行。
5.Lua目标
Lua的目标是成为一个很容易嵌入其它语言中使用的语言。大多数程序员也认为它的确做到了这一点。
很多应用程序、游戏使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括魔兽世界、博德之门、愤怒的小鸟、QQ三国、VOCALOID3、Garry’s Mod、太阳神三国杀、游戏王ygocore和饥荒等。
6.第一个Lua程序
接下来我们使用 Lua 来输出"Hello World!"
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> print("hello world")
hello world
>
二、Lua环境安装
在线API文档API文档
1.Linux系统环境安装
Linux & Mac上安装 Lua 安装非常简单,只需要下载源码包并在终端解压编译即可,本文使用了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 linux test
make install
2.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
3.Window 系统环境安装
window下你可以使用一个叫"SciTE"的IDE环境来执行lua程序,下载地址为:
- Github 下载地址:下载地址
- Google Code下载地址 : 下载地址
双击安装后即可在该环境下编写 Lua 程序并运行。
你也可以使用 Lua 官方推荐的方法使用 LuaDist:官方地址
Windows下载最后成这样!
总结
以上就是今天要讲的内容,本文介绍了Lua语言由来以及Lua在不同操作系统上的安装方式,非常的便捷,所以我们务必掌握。另外如果上述有任何问题,请懂哥指教,不过没关系,主要是自己能坚持,更希望有一起学习的同学可以帮我指正,但是如果可以请温柔一点跟我讲,爱与和平是永远的主题,爱各位了。
【Lua从青铜到王者基础篇】第一篇:Lua初始教程和环境安装相关推荐
- 【Lua从青铜到王者基础篇】第十二篇:Lua错误处理
系列文章目录 文章目录 系列文章目录 前言
- 【Lua从青铜到王者基础篇】第十三篇:Lua 调试(Debug)
系列文章目录 文章目录 系列文章目录 前言
- 【C语言从青铜到王者】第零篇·与C语言来个约会
系列介绍 本系列博客是博主自己的C语言学习笔记,分享出来即是为了整理学过的知识也希望帮助每一位零基础小白上手C语言.系列更新速度即为博主学习速度,如有错误疏漏,请务必及时指出!博主也会不定期的重新编辑 ...
- 高速计算机的应用领域概括,[其它课程]计算机基础教案第一篇第一、二章.doc
[其它课程]计算机基础教案第一篇第一.二章 盐城技师学校教案首页 授课日期班 级课题: 第一章 计算机基础知识 §1.1计算机概述 教学目的.要求:1.熟练掌握计算机的概念及特征: 2.掌握计算机的发 ...
- macino404 || cinema 4D 基础解释 || 第一篇
此篇为cinema 4D 基础解释 //第一篇博客. cinema 4D cinema 4D 基础界面 首先在我们初次下载cinema 4D 的时候我们会得到这样一个界面,下面就来了解一下界面中带给我 ...
- SpringBoot SpringBoot 基础篇(第一篇) 第2章 SpringBoot 全局配置 2.2 yaml 文件
SpringBoot [千锋教育java教程SpringBoot2全套,springboot快速入门到项目实战视频教程] SpringBoot 基础篇(第一篇) 第2章 SpringBoot 全局配置 ...
- 国外LEAD-自学篇-第一篇(IP代理教程)
之前发过 国外LEAD-自学篇(前期准备) 一些前期工具注册 如果你都已经准备好~~ 那么咱们今天就开始从第一篇开始「国外IP代理教程」 「建议先收藏起来,慢慢学习」 最后我会把视频教程发出来,供大家 ...
- lua菜鸟教程_Lua 环境安装
Lua 环境安装 Linux 系统上安装 Linux & Mac上安装 Lua 安装非常简单,只需要下载源码包并在终端解压编译即可,本文使用了5.3.0版本进行安装: curl -R -O h ...
- 【Git从青铜到王者】第三篇:Git的基础
系列文章目录 文章目录 系列文章目录 前言 一.获取 Git 存储库 1.在现有目录中初始化存储库 2.克隆现有存储库 二.Git记录每次更新到仓库 1.记录每次更新到仓库 2.检查当前文件状态 3. ...
最新文章
- Centos7 下 配置 rsync 以及 rsync+inotify 实时同步
- 2021年5G发展展望
- linux杀dmol3进程,linux下运行Gaussian09进程被killed - 量子化学 - 小木虫 - 学术 科研 互动社区...
- 神策数据携手百丽国际,专注品牌零售行业数字化未来
- cs6序列号 mac版photoshop_重磅!Parallels Desktop 16 M1版发布
- 计算机管理可以更新吗,微信可以批量管理好友吗(电脑版微信3.0.0更新规则了)...
- 免费下载百度文库文档、免注册、免登录、免财富值 - 帮手网-云下载
- 印度IT行业普遍高薪-印度互联网泡沫判断
- Pandas RuntimeWarning: More than 20 figures have been opened. Figures created plt.close()也不起作用
- 在设备管理器中找不到笔记本电脑内置摄像头的解决方法
- Mifare UltraLight
- 【论文写作】Latex在线创作工具overleaf及账号注册办法
- Additive smoothing
- java高级之xml
- [LLVM教程]LLVM之第一个语言前端
- 如何用c语言编程逻辑运算符,c语言逻辑运算符的优先级是怎样的
- 第1.3章:StarRocks部署--单机部署
- 牛客网 2018年全国多校算法寒假训练营练习比赛(第二场) 题解
- 【案例实践】植被参数遥感反演与数据同化系列
- SpringCloud-Alibaba全家桶