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 的步驟。此外,這套軟體支援數個遊戲引擎,包括 Corona 和 Cocos2d-x 等,之後要轉換軟體時,也不需要重學 IDE。

其他編輯器

  • Visual Studio Code
  • Atom
  • Notepad++ (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

編譯 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 所在的資料夾,輸入以下指令:

$ cd src
$ msvcbuild

編譯成功後,將 luajit.exelua51.dll 移動到任意位置,並修改 PATH 變數即可。

Hello World

接下來,我們用 Hello World 程式熟悉撰寫 Lua 程式的流程。

建立一個文字檔案,名為 *hello.lua*,加入以下內容:

print("Hello World")

執行此命令稿:

$ lua hello.lua
Hello World

若使用 LuaJIT,將指令改為 luajit 即可。直接從 ZeroBrane Studio 內執行命令稿也可。若看到 Hello World 字串,表示 Lua 環境已經建立好。建置開發環境後,就可以開始學習 Lua 語法。

comments powered by Disqus