LuaJIT 对应之是 Lua5.1LuaJIT 对应的凡 Lua5.1

前言

即篇稿子对的凡基于 LuaJIT 的条件布置。借助于 LuaJIT,Lua
的施行效率可以进一步升级几十加倍。如果你无是怪明白自己是待 Lua 还是
LuaJIT,那么建议乃自 LuaJIT 起步。LuaJIT 对应的凡 Lua5.1
的语法,这或多或少需要注意。

如若您想看基于最新版 Lua
环境之配置文章,请动:http://yanfeng.life/2017/11/10/Latest-guid-for-lua/

前言

这篇文章对的凡根据 LuaJIT 的条件布置。借助于 LuaJIT,Lua
的履行效率可以更进一步升级几十加倍。如果你切莫是挺明白自己是待 Lua 还是
LuaJIT,那么建议乃于 LuaJIT 起步。LuaJIT 对应的凡 Lua5.1
的语法,这或多或少欲小心。

苟您想看基于最新版 Lua
环境之部署文章,请走:http://yanfeng.life/2017/11/10/Latest-guid-for-lua/

脚本语言,你也许还要之凡 Lua

不同之脚本语言有两样之特性,第一点的脚本语言,可能会见潜移默化好对整个脚本语言的领悟以及认知。我以前接触最多之脚本语言是
JavaScript。后果便是:我都认为脚本语言都是必与宿主语言运行于不同之进程;脚本本身的语法受条件之熏陶很死,很为难完成统一;如果想统一写法,都急需以动用体积上做出特别酷的服(嵌入一个通用的
JS 解释器,会使下体积增大十几 M)。

自家于试行着做一些努力,去改善以大气下 JavaScript
引起的有的特定的艺问题。但是有时间而回想了 Lua。最开头是起玩 WOW
的室友那里听说 Lua 的。因为他说写WOW插件很赚钱,所以都认真地寻找了
Lua,现在脑海中产生有剩的有些。

自己忽然意识及,可能 JavaScript 的大多数范围,在 Lua
或另脚本语言中并无设有。想如果解决那些因为运用 JavaScript
引起的各种题材,可能一味待转移一门脚本语言。

自,此处不考虑通常意义及的下难度,学习难度,推广成本一样近似的因素;毕竟我是纯粹自嗨。但一旦,Lua
真的克非常好解决自己眼前遇见的脚本语言无法同宿主语言灵活通信的问题,必将给协调之完整知识系统带来一个初的升级,也必在自己的寻常履备受创造有累累新的恐怕。

脚本语言,你也许重新需要的是 Lua

不同的脚本语言有两样之特征,第一点的脚本语言,可能会见潜移默化自己对合脚本语言的晓以及体会。我以前接触最多的脚本语言是
JavaScript。后果便是:我早就认为脚本语言都是必同宿主语言运行于不同的进程;脚本本身的语法受条件的熏陶好酷,很为难做到统一;如果想统一写法,都需以采用体积上做出充分可怜之妥协(嵌入一个通用的
JS 解释器,会使下体积增大十几 M)。

本身以尝试着开片全力,去改善以大气下 JavaScript
引起的部分一定的技艺问题。但是有时间以回想了 Lua。最开头是自玩 WOW
的室友那里听说 Lua 的。因为他说写WOW插件很赚钱,所以就认真地搜寻了
Lua,现在脑海中生出一对剩的一些。

本身突然意识及,可能 JavaScript 的大部分范围,在 Lua
或外脚本语言中连无存。想只要缓解那些坐使用 JavaScript
引起的各种问题,可能独自需要转移一门户脚本语言。

当然,此处不考虑通常意义上的利用难度,学习难度,推广成本一样接近的素;毕竟我是纯粹自嗨。但如果,Lua
真的能大好解决本身时逢的脚本语言无法和宿主语言灵活通信的题目,必将让自己之整体知识系统带来一个初的升级换代,也必然在投机之普通履备受创造有过多新的或。

所干的依次工具的本子

  • 编程语言: LuaJIT 2.0.5 (对应 Lua 5.1的语法)

  • Lua 模块管理工具:LuaRocks 2.3.0(LuaJIT版)

  • 编辑器:IntelliJ IDEA CE (社区版)

Build #IC-172.4343.14, built on September 26, 2017
JRE: 1.8.0_152-release-915-b12 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.13.1

  • 调节插件:EmmyLua 1.2.0

  • 操作系统:macOS 10.13.1

  • macOS 专用模块管理工具: Homebrew 1.3.6

以下讨论,均因 macOS 为主,其他系统平台只是供参考。

所波及的一一工具的本子

  • 编程语言: LuaJIT 2.0.5 (对应 Lua 5.1之语法)

  • Lua 模块管理工具:LuaRocks 2.3.0(LuaJIT版)

  • 编辑器:IntelliJ IDEA CE (社区版)

Build #IC-172.4343.14, built on September 26, 2017
JRE: 1.8.0_152-release-915-b12 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.13.1

  • 调剂插件:EmmyLua 1.2.0

  • 操作系统:macOS 10.13.1

  • macOS 专用模块管理工具: Homebrew 1.3.6

以下讨论,均为 macOS 为主,其他系统平台只是供参考。

安装 LuaJIT

安装 LuaJIT

下载 LuaJIT 源码

下载地址:http://luajit.org/download.html

貌似应慎选新型的 Stable 稳定版本。下载后解压。

图片 1

下载 LuaJIT 源码

下载地址:http://luajit.org/download.html

貌似应挑选新型的 Stable 稳定版本。下载后解压。

下载 LuaJIT 源码

编译 LuaJIT

编译非常简单,cd 到 LuaJIT 源码解压目录,然后于终极履行:

make && sudo make install

编译 LuaJIT

编译非常简单,cd 到 LuaJIT 源码解压目录,然后于巅峰履行:

make && sudo make install

验证 LuaJIT 安装是否中标

开辟终端履行:

luajit -v

安装成功后,应该有以下类似输出:

LuaJIT 2.0.5 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/

验证 LuaJIT 安装是否成

打开终端履行:

luajit -v

设置成功后,应该产生以下类似输出:

LuaJIT 2.0.5 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/

装 Lua 模块管理工具:LuaRocks

开辟 macOS 终端,输入以下指令:

brew tap mesca/luarocks
brew install luarocks51 --with-luajit

LuaRocks
的装置为闹强术,这是较简化高效的同样种。需要专注的凡,以之种植办法安装,LuaRocks
的调用命令,将改为 luarocks-jit

图片 2

装 Lua 模块管理工具:LuaRocks

开辟 macOS 终端,输入以下指令:

brew tap mesca/luarocks
brew install luarocks51 --with-luajit

LuaRocks
的设置为有强法,这是较简化高效的相同种植。需要专注的是,以之种植方法安装,LuaRocks
的调用命令,将化 luarocks-jit

LuaRocks 安装成功

择一个适当的 Lua 编辑器: IntelliJ IDEA CE

Lua 日常编码,推荐以 IntelliJ IDEA
CE(社区免费版),下载地址:https://www.jetbrains.com/idea/download/

着重是起配置难度,语法高亮,代码提示,代码调试等地方衡量。

图片 3

选一个方便的 Lua 编辑器: IntelliJ IDEA CE

Lua 日常编码,推荐用 IntelliJ IDEA
CE(社区免费版),下载地址:https://www.jetbrains.com/idea/download/

重点是自从部署难度,语法高亮,代码提示,代码调试等地方衡量。

IntelliJ IDEA CE 预览

以 EmmyLua 插件配置调试环境

动 EmmyLua 插件配置调试环境

安装 EmmyLua

Lua 的调剂以及高亮,主要受益于 EmmyLua。在 IntelliJ IDEA CE 的 Plugins
中,直接搜索安装即可。记得,要事先安装者插件,然后再次新建工程。安装是插件后,工程模板,会多一个
Lua 模板选项。从 Lua 模板新建工程,会简化许多 Lua 相关的布。

图片 4

安装 EmmyLua

Lua 的调试以及高亮,主要受益于 EmmyLua。在 IntelliJ IDEA CE 的 Plugins
中,直接搜索安装即可。记得,要先行安装之插件,然后又新建工程。安装此插件后,工程模板,会多一个
Lua 模板选项。从 Lua 模板新建工程,会简化许多 Lua 相关的安排。

安装 EmmyLua

安装 luasocket

于装置 EmmyLua 插件之后,还用安装一个 Lua 库
luasocket,才能够开展调试。

开辟终端,输入以下指令:

sudo luarocks-jit install luasocket  

安装 luasocket

于设置 EmmyLua 插件之后,还需安装一个 Lua 库
luasocket,才能够展开调节。

打开终端,输入以下指令:

sudo luarocks-jit install luasocket  

改 Lua 路径配置

Lua 的布路径而打默认的 lua,改吗 luajit 命令的真路径,一般是
/usr/local/bin/luajit

图片 5

改 Lua 路径配置

Lua 的布路径而打默认的 lua,改吧 luajit 命令的真人真事路径,一般是
/usr/local/bin/luajit

配置 Lua

开调试

在 IntelliJ IDEA CE 中初建 Lua 工程,然后新建 Lua 文件
hello.lua,输入代码:

-- defines a factorial function
function fact (n)
    if n == 0 then
        return 1
    else
        return n * fact(n - 1)
    end end
a = 6
print(fact(a))

每当编辑区左侧,打及几个断点,然后文件编辑区右键,选择 Debug ‘hello.lua’:

图片 6

联合简单看下 Debug 断点调试的效应:

图片 7

开头调试

在 IntelliJ IDEA CE 中初建 Lua 工程,然后新建 Lua 文件
hello.lua,输入代码:

-- defines a factorial function
function fact (n)
    if n == 0 then
        return 1
    else
        return n * fact(n - 1)
    end end
a = 6
print(fact(a))

每当编辑区左侧,打及几只断点,然后文件编辑区右键,选择 Debug ‘hello.lua’:

debug 右键菜单

手拉手简单看下 Debug 断点调试之效能:

debug 效果演示

布置 LuaCheck 静态检查器

首先在当终端命令执行执行:

sudo luarocks-jit install luacheck

然后在安装页,配置 LuaCheck 的完全路径: /usr/local/bin/luacheck

图片 8

现编辑区右键菜单中选择 “Run
LuaCheck”,就可拓展静态检查了。不过正接触要运行某些示例代码时,不用过于纠结静态检查的警告。

图片 9

配置 LuaCheck 静态检查器

第一在在终端命令执行执行:

sudo luarocks-jit install luacheck

接下来以装页,配置 LuaCheck 的总体路径: /usr/local/bin/luacheck

LuaCheck 配置页

今天编辑区右键菜单中选择 “Run
LuaCheck”,就好开展静态检查了。不过正接触要运行某些示例代码时,不用过于纠结静态检查的告诫。

LuaCheck 效果图

注意事项

  • 装 LuaJIT ,不需要设置 Lua 5.1 了

  • 早晚是要是以布局好 EmmyLua 插件后,直接冲新面世的 Lua
    模板新建工程;否则在改项目安排高达,可能会见花费许多时间。

  • 调节时报错 module ‘socket’ not found ,是为没有安装
    luasocket。

  • Lua 因MIT
    开源,如果哪天想协调定义某种新语言来兑现特定的成品特性,可以考虑因
    Lua 定制。

  • Lua
    支持各种低级硬件嵌入式开发,可移植性非常好,物联网时代可能会见有新的或是跟增进潜力。

  • 设若感到 luajit 没有 lua 写在好,可以试试着当 .profile 中配置
    alias 命令别名,详见:https://stackoverflow.com/a/8967864

alias lua="/usr/local/bin/luajit"
alias luarocks="/usr/local/bin/luarocks-jit"
  • 命令别名,不可知 sudo 执行,如安装 luasocket 时,还是用 sudo
    原始命令:

sudo luarocks-jit install luasocket

  • 比方都装过 Lua 5.1,可能得事先换除了其:

brew unlink lua@5.1
  • 编码时,光标移动到下一行的快捷键是:

cmd + shift + enter

注意事项

  • 安装 LuaJIT ,不需安装 Lua 5.1 了

  • 毫无疑问是使在部署好 EmmyLua 插件后,直接冲新出现的 Lua
    模板新建工程;否则在修改项目配置高达,可能会见花许多时光。

  • 调剂时报错 **module ‘socket’ not found **,是以无装
    luasocket。

  • Lua 因MIT
    开源,如果哪天想协调定义某种新语言来贯彻特定的制品特色,可以设想因
    Lua 定制。

  • Lua
    支持各种低级硬件嵌入式开发,可移植性非常好,物联网时代或会见生出新的恐怕和增长潜力。

  • 而感觉 luajit 没有 lua 写着好,可以尝试着在 .profile 中配置
    alias
    命令别名,详见:https://stackoverflow.com/a/8967864

alias lua="/usr/local/bin/luajit"
alias luarocks="/usr/local/bin/luarocks-jit"
  • 指令别名,不克 sudo 执行,如安装 luasocket 时,还是待 sudo
    原始命令:

sudo luarocks-jit install luasocket

  • 如若已装过 Lua 5.1,可能要事先换除其:

brew unlink lua@5.1
  • 编码时,光标移动及下一行的快捷键是:

cmd + shift + enter

小结

上述介绍了 macOS 平台,LuaJIT
从安至布置调试环境之完好经过。接下来,就足以根据自己之节拍及消,好好了解
Lua 之美了~

小结

上述介绍了 macOS 平台,LuaJIT
从安到布置调试环境之完全过程。接下来,就可以根据自己之点子和用,好好掌握
Lua 之美了~

参照文档:

  • 哪给命令设置别名?
  • 动用 hombrew 安装不同版本的 Lua 和
    LuaRocks
  • EmmyLua 插件主页
  • Lua 官网
  • LuaRocks官网
  • IntelliJ IDEA 官网
  • LuaJIT 项目主页
  • Homebrew 官网

参照文档:

  • 怎样被命令设置别名?
  • 下 hombrew 安装不同版本的 Lua 和
    LuaRocks
  • EmmyLua
    插件主页
  • Lua 官网
  • LuaRocks官网
  • IntelliJ IDEA
    官网
  • LuaJIT 项目主页
  • Homebrew 官网

相关文章