【在主画面加入捷径】
       
【选择语系】
繁中 简中

Lua 程序设计教学:建置环境

【赞助商连结】

    在线编辑器

    如果只是想学一下 Lua 的语法,可以在 repl.it 或是 glot.io 的 Lua 环境玩一下。这两个版本比官方的版本更好,在于这个版本有语法色彩 (syntax highlighting),比较易于阅读程序代码。对于初期的学习,这个环境应该是够了。

    支援 Lua 的编辑器或 IDE

    ZeroBrane Studio

    如果想要在本地端写 Lua 程序,笔者推荐 ZeroBrane Studio。这套 IDE 内建 5.1、5.2、5.3、LuaJIT 等数个主流版本的 Lua 直译器,可以直接用内附的 Lua 直译器来练语法,省去安装 Lua 的步骤。此外,这套软件支援数个 Lua 相关的游戏引擎,包括 Corona 和 Cocos2d-x 等,之后要转换软件时,也不需要重学 IDE。

    其他编辑器

    • Visual Studio Code 搭配 vscode-lua
    • Atom
    • Notepad++ (Windows only)
    • Decoda (Windows only)

    luaenv

    如果不想用 ZeroBrane Studio 内建的 Lua,在类 Unix 平台上可用 luaenv 管理 Lua 版本。由于 luaenv 是以 Bash 撰写,Windows 平台无法使用。

    安装 luaenv

    用 Git 下载 luaenv:

    $ git clone https://github.com/cehoffman/luaenv.git ~/.luaenv
    

    ~/.luaenv/bin 加入 PATH 环境变量:

    $ echo 'export PATH="$HOME/.luaenv/bin:$PATH"' >> ~/.bash_profile
    

    在设定档中加人 luaenv init

    $ echo 'eval "$(luaenv init -)"' >> ~/.bash_profile
    

    安装 lua-build,简化日后编译和安装 Lua 的步骤:

    $ git clone git://github.com/cehoffman/lua-build.git ~/.luaenv/plugins/lua-build
    

    (选择性) 安装 luaenv-luarocks,这是 Lua 的套件管理程序:

    $ git clone https://github.com/xpol/luaenv-luarocks.git ~/.luaenv/plugins/luaenv-luarocks
    

    使用 luaenv

    使用 luajit install -l 显示可安装的 Lua 版本:

    $ luaenv install -l
    Available versions:
      5.1.5
      5.2.1
      5.2.2
      5.2.3
      5.2.4
      5.3.0
      5.3.1
      5.3.2
      5.3.3
      luajit-2.0.1
      luajit-2.0.1-p1
      luajit-2.0.2
      luajit-2.0.3
      luajit-2.0.4
      luajit-2.0.5
      luajit-2.0-dev
      luajit-2.1.0-beta2
      luajit-2.1.0-beta3
      luajit-2.1-dev
      luvit-0.6.0
      luvit-0.6.1
      luvit-dev
    

    使用 luaenv install 安装特定版本的 Lua:

    $ luaenv install luajit-2.0.5
    

    可以顺便安装 LuaRocks,这是 Lua 的套件管理程序。如果要安装 LuaRocks,需要额外安装官方版本的 Lua:

    $ luaenv install 5.1.5
    $ luaenv global luajit-2.0.5
    $ luaenv luarocks
    

    Scoop

    Scoop 是一个 Windows 上的新兴套件管理软件。包含 Lua 5.1 版的套件,输入一行指令即可安装:

    C:\> scoop install lua
    

    不过,笔者在试用时,发现这个套件内附的 LuaRocks 无法使用,这是因为 LuaRocks 内的套件需要一些环境变量的原因。如果读者是为了在 Windows 上使用 LuaRocks,比较推荐的方式是到 LuaRocks 的官方链接 下载并解开压缩包,然后在命令行输入以下指令:

    C:\path\to\package\> .\install.bat /L
    

    这样会用该压缩包内附的 Lua 5.1 版来搭配 LuaRocks。

    编译 Lua

    如果仍然想要自行编译安装 Lua 直译器,可到 Lua (或 LuaJIT) 官方网站下载 Lua 源代码自行编译,视自己需求的版本而定。在类 Unix 平台上建议使用前述的 luaenv,这里介绍在 Windows 下编译 Lua 的过程。

    到 LuaJIT 官网下载 LuaJIT 源代码,在本文撰写时,最新稳定版本为 2.0.5。下载 ZIP 档后将其解压缩。

    由于 Lua (或 LuaJIT) 仅用到 ANSI C,不论使用 Visual Studio 附的 C 编译器或是 MinGW 的 GCC 皆可编译 LuaJIT。在这里,我们使用 Visual Studio 社群版。

    安装好 Visual Studio 后,开启「x64 Native Tools Command Prompt」终端机视窗,移动到 LuaJIT 所在的数据夹,输入以下指令:

    C:\path\to\lua> cd src
    C:\path\to\lua\src> msvcbuild.bat
    

    编译成功后,所需的可执行文件和其他文件皆位于 src 目录中;将整个 src 数据夹移动到任意位置,并修改 PATH 变量即可。

    Hello World

    接下来,我们用 Hello World 程序熟悉撰写 Lua 程序的流程。

    建立一个文字文件,名为 *hello.lua*,加入以下内容:

    print("Hello World")

    执行此脚本:

    $ lua hello.lua
    Hello World
    

    若使用 LuaJIT,将指令改为 luajit 即可。直接从 ZeroBrane Studio 内执行脚本也可。若看到 Hello World 字串,表示 Lua 环境已经建立好。建置开发环境后,就可以开始学习 Lua 语法。