簡介
lua是一款輕量級(jí)的應(yīng)用,可以運(yùn)行在服務(wù)端忍疾,一種輕量級(jí)的小巧的腳本語言闯传,一般用于做游戲加速引擎、異步消息處理卤妒,嵌入到應(yīng)用程序中甥绿,方便做相關(guān)的擴(kuò)展調(diào)用,提供靈活的調(diào)用则披。
Lua 特性
輕量級(jí): 它用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放共缕,編譯后僅僅一百余K,可以很方便的嵌入別的程序里士复。
可擴(kuò)展: Lua提供了非常易于使用的擴(kuò)展接口和機(jī)制:由宿主語言(通常是C或C++)提供這些功能图谷,Lua可以使用它們,就像是本來就內(nèi)置的功能一樣判没。
其它特性:
支持面向過程(procedure-oriented)編程和函數(shù)式編程(functional programming)蜓萄;
自動(dòng)內(nèi)存管理;只提供了一種通用類型的表(table)澄峰,用它可以實(shí)現(xiàn)數(shù)組嫉沽,哈希表,集合俏竞,對(duì)象绸硕;
語言內(nèi)置模式匹配堂竟;閉包(closure);函數(shù)也可以看做一個(gè)值玻佩;提供多線程(協(xié)同進(jìn)程出嘹,并非操作系統(tǒng)所支持的線程)支持;
通過閉包和table可以很方便地支持面向?qū)ο缶幊趟枰囊恍╆P(guān)鍵機(jī)制咬崔,比如數(shù)據(jù)抽象税稼,虛函數(shù),繼承和重載等垮斯。
應(yīng)用場景
游戲開發(fā)
服務(wù)端開發(fā)
web服務(wù)應(yīng)用
擴(kuò)展和數(shù)據(jù)庫服務(wù)郎仆,第三方服務(wù)擴(kuò)展
某些方面做系統(tǒng)安全,如漏洞等
其內(nèi)部內(nèi)置了很多組件兜蠕,方便做服務(wù)端的擴(kuò)展扰肌,如:redis、db熊杨、traffic limit限流等曙旭,可以運(yùn)行在niginx上,做相關(guān)的擴(kuò)展晶府,在此基礎(chǔ)上做反向dialing桂躏、流量控制,優(yōu)化了底層的實(shí)現(xiàn)流程川陆。
在用法上和C類似沼头,簡單的流程控制、函數(shù)书劝、元素、表達(dá)式土至、元操作购对、協(xié)同程序、文件流等操作陶因,在接下來的深入學(xué)習(xí)中會(huì)慢慢熟悉各自的用法骡苞。
lua的安裝
關(guān)于的lua的安裝,需要注意的是楷扬,需要源碼安裝解幽,也可以直接install來進(jìn)行安裝,安裝完成后烘苹,就可以在本地進(jìn)行實(shí)際的開發(fā)躲株,以及后續(xù)的編譯開發(fā)流程。
make install 來進(jìn)行相關(guān)的安裝镣衡,如果你想把 Lua 安裝在本地霜定,運(yùn)行 "make local"档悠。 它會(huì)創(chuàng)建一個(gè) install 目錄,內(nèi)有 bin, include, lib, man, share, 子目錄望浩,并將下列文件安裝在其中辖所。 如果你想安裝到本地其它目錄, 運(yùn)行 "make install INSTALL_TOP=xxx"磨德,xxx 指你選擇的目錄缘回。 由于安裝過程中會(huì)切換到 src 以及 doc 目錄進(jìn)行, 所以當(dāng) INSTALL_TOP 不是絕對(duì)路徑時(shí)務(wù)必小心典挑。