魔獸世界插件三部曲之三 LUA 簡(jiǎn)介
魔獸世界插件三部曲之三 LUA 簡(jiǎn)介是本文要介紹的內(nèi)容,主要是來認(rèn)識(shí)LUA語(yǔ)言,魔獸世界越來越火,也不得不說LUA的開發(fā)語(yǔ)言。LUA程序設(shè)計(jì)語(yǔ)言是一個(gè)簡(jiǎn)潔、輕量、可擴(kuò)展的腳本語(yǔ)言。LUA讀作/'lua/(嚕?。?,是葡萄牙語(yǔ)中"Luna"(月亮)的意思。
LUA的目標(biāo)是成為一個(gè)很容易嵌入其它語(yǔ)言中使用的語(yǔ)言。大多數(shù)程序員也認(rèn)為它的確做到了這一點(diǎn)。
很多應(yīng)用程序使用LUA作為自己的嵌入式腳本語(yǔ)言,以此來實(shí)現(xiàn)可配置性、可擴(kuò)展性。這其中包括仙境傳說、魔獸世界、戰(zhàn)錘40k、博德之門、軒轅劍外傳漢之云等。
Lua是一種輕量語(yǔ)言,它的官方版本只包括一個(gè)精簡(jiǎn)的核心和最基本的庫(kù)。這使得Lua體積小、啟動(dòng)速度快。它用標(biāo)準(zhǔn)C語(yǔ)言編寫并以源代碼形式開放,編譯后僅僅一百余K,可以很方便的嵌入別的程式裡。和許多"大而全"的語(yǔ)言不一樣,網(wǎng)路通訊、圖形界面等都沒有預(yù)設(shè)提供。但是Lua可以很容易地被擴(kuò)展:由宿主語(yǔ)言(通常是C或C++)提供這些功能,Lua可以使用它們,就像是本來就內(nèi)置的功能一樣。事實(shí)上,現(xiàn)在已經(jīng)有很多成熟的擴(kuò)展模塊可供選用。
特性:
Lua是一種多重編程范式的程式設(shè)計(jì)語(yǔ)言:它只提供了很小的一個(gè)特性集合來滿足不同編輯范式的需要,而不是為某種特定的編輯范式提供繁雜的特性支援。例如,Lua并不提供繼承這個(gè)特性,但是你可以用元表來模擬它。
諸如名字空間、類這些概念都沒有在語(yǔ)言基本特性中實(shí)現(xiàn),但是我們可以輕易的用表結(jié)構(gòu)(Lua***提供的復(fù)雜數(shù)據(jù)結(jié)構(gòu))輕易模擬。Lua可以在運(yùn)行時(shí)隨時(shí)構(gòu)造出一個(gè)函數(shù),并把它看作一個(gè)對(duì)象(正是所謂的first class function),這個(gè)特性可以很好的滿足函數(shù)式編程的需要。這是提供了這些基本的元特性,我們可以任意的對(duì)語(yǔ)言進(jìn)行自需的改造。
Lua原生支援的數(shù)據(jù)類型非常之少,它只提供了數(shù)字(缺省是雙精度浮點(diǎn)數(shù),可配置)、布爾量、字符串、表、子程序、協(xié)程(coroutine)以及用戶自定義數(shù)據(jù)這幾種。但是其處理表和字符串的效率非常之高,加上元表的支援,我們可以高效的模擬出需要的復(fù)雜數(shù)據(jù)類型(比如集合、數(shù)組等)。
Lua是一個(gè)動(dòng)態(tài)弱類型語(yǔ)言,支援增量式垃圾收集策略。有內(nèi)建的,與操作系統(tǒng)無(wú)關(guān)的協(xié)作式多線程(coroutine)支援。
LUA的代碼類型很多,一個(gè)帖子是根本說不完滴=。=,感興趣的玩家可以學(xué)習(xí)研究下下面的參考資料~這里只需要對(duì)一些基本語(yǔ)句用法,和函數(shù)定義表達(dá)式有個(gè)初步的了解認(rèn)識(shí)就可以了,畢竟讓你完完全全開發(fā)一個(gè)完整的*.lua,是件很龐大的工程,密密麻麻一行行的字符串不是人看的,只要相應(yīng)的了解一些用法,理解后會(huì)對(duì)自己喜歡的插件加以修改和完善就可以了>。< 可以通過對(duì)oUF、一些小插件代碼的認(rèn)識(shí),編輯修改來達(dá)到學(xué)習(xí)的目的~這里就不詳細(xì)介紹了,一是能力有限,二是匯編語(yǔ)言這東西可不是我一個(gè)帖子就能說完的,
小結(jié):魔獸世界插件三部曲之三 LUA 簡(jiǎn)介的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對(duì)你有所幫助!