艾歐踢論壇

標題: Lua 學習筆記 (一) : 基本語法 [打印本頁]

作者: admin    時間: 2017-1-13 06:52
標題: Lua 學習筆記 (一) : 基本語法
最近花了一點時間來學 Lua, 作為學習 NodeMCU 的準備. Lua 目前在 TIOBE 排行第 34, 雖然屬於後段班, 但由於核心以 C 語言寫成, 編譯後僅 100KB 左右, 啟動速度快, 執行效率高, 可利用 C/C++ 擴展, 不僅可嵌入到其他程式語言裡, 還能嵌入到硬體晶片中, 非常適合用來處理 C 不擅長的部分 (例如陣列與字串), 在過去早已廣泛被各類線上遊戲採用為腳本語言, 我認為低價的 NodeMCU 平台的出現, 會使 Lua 在物聯網的應用發展中漸漸受到重視, 因為它跟 C/C++ 太麻吉啦!

Lua 語言是巴西里約熱內盧 [size=14.8500003814697px]Pontifical Catholic University 大學的科技軟體開發學院 (Tecgraf) 教授 [size=14.8500003814697px]Roberto Ierusalimschy , Luiz Henrique de Figueiredo, 以及 Waldemar Celes 所設計的. Tecgraf 學院與巴西石油公司有合作開發關係, Tecgraf 協助石油公司開發圖形顯示與地質探勘專案軟體, 先後創造了 DEL 與 SOL 兩種資料驅動語言. Roberto 教授以這兩種語言為基礎, 研發出一個更完整, 具備可嵌入與可攜性的簡易語言. 由於 SOL 在葡萄牙語意思為太陽 (Sun), 所以在朋友建議下將這新語言命名為 Lua, 葡語為月亮 (Moon) 之意. 自 1993 年 Lua 1.0 發布以來, 歷經多次改版, 納入 prototype-based 的物件導向功能與事件驅動機制 (與 Javascript 類似) 等. 1996 年 Roberto 教授在美國 Dr. Dobb's Journal 期刊 (以微電腦軟體為主軸) 發表了一篇標題為 "Lua: an Extensible Embedded Language" 的文章, Lua 才開始踏出巴西走向世界, 許多遊戲軟體如 LucasArts 與 World of Warcraft (魔獸世界) 紛紛改用 Lua 作為 Scripting 語言, 知名手機遊戲開發工具 Corona 與 Moai 也是以 Lua 作為腳本語言, 甚至連 TCP/IP 軟體 Wireshark 與網路入侵檢測軟體 Snort 也內嵌了 Lua, 顯示 Lua 的簡單易學與強大功能正吸引全世界開發者的注意, 詳參 :

# A brief history of Lua
# The Evolution of Lua (PDF)
# Lua as a Configuration And Data Exchange Language (PDF)
# [url=https://en.wikipedia.org/wiki/Categoryua-scripted_video_games]Wiki : Categoryua-scripted video games[/url]
# Wiki : Lua (programming language)
在 Windows 上操作 Lua 請參考 :

# Lua 解譯器的用法

Lua 語言特色摘要如下 :

Lua 的優勢是執行速度快, 語法簡單學習曲線不陡峭. 以下摘要整理 Lua 程式的基本語法, 主要參考下列資料 :

# Programming in Lua (first edition) (線上電子書)
# Learn Lua in X minutes (PDF)
# Lua Tutorial (Lua Users)
# Lua Tutorial (TutorialPoints)
# Lua Tutorial (Youtube)
# [Lua] 語法筆記
# [Lua] Table使用手冊
# 看影片學 Lua 程式設計
# Scripting系統概論與Lua簡介


以上 Lua 語法摘要也參考了下列幾本書籍 :

其他參考資料 :

# App開發新選擇—Corona SDK
# https://coronalabs.com/
# http://getmoai.com/
# http://www.cocos2d-x.org/
# Creating standalone Lua executables







歡迎光臨 艾歐踢論壇 (http://www.iot.idv.tw/ucenter/) Powered by Discuz! X3.2