2018 第二季-開始 Lua

會興起將 Lua 導入計算機程式課程, 是因為 V-rep, 因為除了 C/C++ API 外, 標準 API 程式內嵌 (embedded) 與附加 (add-on) 語言, 就是 Lua.

Msys2 編譯 Lua

下載 kmol_twigs.7z 後, 解開壓縮檔, 以 start.bat 啟動隨身程式系統.

http://www.lua.org/download.html 下載 lua 5.3.4 原始碼. 在隨身系統的命令列中執行 mingw32-make mingw 就可以完成編譯, 取得 lua.exe, luac.exe 與 liblua.a

Fengari 專案

fengari-lua 利用 Javascript 改寫 Lua 解譯器後, 在網頁中透過 fengari-web 就可以執行 Lua 程式外, 還能夠導入 js 模組, 使用 Javascript 程式庫中相關物件的方法與屬性. SchoolProject 就是利用 Ace 編輯器與 fengari-web, 讓使用者可以直接在瀏覽器中編輯執行 Lua 程式. vecp2018_lua (原始碼) 則延續 SchoolProject, 增加了一些功能, 可以用於大一的計算機程式課程中.

令人驚訝的發現

openresty 是一套結合 NginxLua 的網際程式平台. 而 lapis 則是架構在 openresty 平台上的網際程式框架, 令人驚訝的發現是, 在如此一個並非十分熱門的平台網站中, 發現錘子科技捐了 15 萬美金給 openresty (儘管過程艱辛), 而且 openresty 就是源自中國的開源專案. 相關資訊來自: http://www.infoq.com/cn/articles/what-is-openresty-mentioned-in-smartisan-release-conference.