欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Lua教程(一):簡介、優(yōu)勢和應用場景介紹

 更新時間:2015年04月29日 10:44:18   投稿:junjie  
這篇文章主要介紹了Lua教程(一):簡介、優(yōu)勢和應用場景介紹,本文是Lua教程系列文章的第一篇,需要的朋友可以參考下

一、簡介:

  Lua作為目前最為流行的、免費輕量級嵌入式腳本語言,在很多工業(yè)級的應用程序中被廣泛應用,如Adobe's Photoshop,甚至是在一些著名的游戲程序中也被大量使用,如星際。不僅如此,由于Lua具備很多特殊的優(yōu)點,如語法簡單(基于過程)、高效穩(wěn)定(基于字節(jié)碼)、可以處理復雜的數(shù)據(jù)結構、動態(tài)類型、以及自動內(nèi)存管理(基于垃圾收集)等,因此在很多嵌入式設備和智能移動設備中,為了提高程序的靈活性、擴展性和高可配置性,一般都會選擇Lua作為它們的腳本引擎,以應對各種因設備不同而帶來的差異。

二、主要優(yōu)勢:

  1. 高效性:
  作為一種腳本語言,Lua的高效是眾所周知的,因此在實際應用中,很多大型程序都會考慮將代碼中易變的部分用Lua來編寫。這不但沒有明顯降低系統(tǒng)的運行效率,反而使程序的穩(wěn)定性和可擴展性得到了顯著的提升。

  2. 可移植性:
  在官方網(wǎng)站中提供了基于多種平臺的發(fā)布包,如Linux/Unix、Windows、Symbian和Pocket PC等。
   
  3. 可嵌入性:
  在語言設計之初,Lua就被準確的定位為嵌入式腳本語言,因此Lua的設計者們?yōu)長ua提供了與其他編程語言之間的良好交互體驗,這特別體現(xiàn)在和C/C++之間的交互上。對于其他語言,如Java和C#,也可以將Lua作為其嵌入式腳本引擎,并在代碼中進行直接的交互。
   
  4. 簡單強大:
  盡管是過程化腳本語言,但由于Lua的設計者們?yōu)長ua提供了meta-mechanisms機制,這不僅使Lua具備了一些基本的面向對象特征,如對象和繼承,而且仍然保持了過程化語言所具有的語法簡單的特征。
   
  5. 小巧輕便:
  在最新版本(5.2.0)的Lua中,僅僅包含了大約20000行的C語言代碼,編譯后的庫文件大小約為240K左右,因此這對于很多資源有限的平臺有著極強的吸引力。
   
  6. 免費開源:
  MIT Licence可以讓Lua被免費的用于各種商業(yè)程序中。
   
三、應用場景:

  1. 在很多時候,我們可以將Lua直接嵌入到我們的應用程序中,如游戲、監(jiān)控服務器等。這樣的應用方式對于程序的最終用戶而言是完全透明的,但是對于程序本身,其擴展性將會得到極大的增強。
   
  2. 將Lua視為一種獨立的腳本語言,通過它來幫助我們完成一些軟件產(chǎn)品的輔助性工具的開發(fā)。比如在我們之前的數(shù)據(jù)分析產(chǎn)品中,我們通過編寫Lua腳本,將每個用戶不同格式的數(shù)據(jù)重新格式化為我們的軟件平臺能夠讀取的格式,之后再將格式化的后的數(shù)據(jù)加載到數(shù)據(jù)庫中,或者是寫入我們的分析引擎可以識別的數(shù)據(jù)分析文件中。這其中Lua僅僅用于文件格式的規(guī)格化過程,至于此后的操作,都是通過Lua調(diào)用我們的C語言導出函數(shù)來完成的。
   
  3. 將Lua應用于應用程序的動態(tài)配置部分。比如移動智能設備或嵌入式設備,它們的顯示分辨率在很多情況下都是非標準的,如果我們?yōu)槊恳豢钤O備都維護一套相關的配置信息,這無疑會加大我們程序的維護開銷,如果我們將這段動態(tài)配置邏輯交由Lua腳本完成,那么這對于程序配置的靈活性而言,將會得到很大的提高。甚至可以是這樣,運行在移動終端設備上的應用程序,在啟動主窗體之前先和服務器建立連接,在服務器確認設備的各種參數(shù)后,再將和該設備顯示相關的Lua腳本發(fā)送給設備客戶端,這樣客戶端在得到Lua腳本之后,就可以立刻執(zhí)行它以得到最新的動態(tài)配置信息。

  最后需要特別指出的是,學習Lua對于我們知識的系統(tǒng)性和完整性而言將是非常重要的一環(huán),特別是對那些致力于軟件架構設計和軟件解決方案分析的高級軟件專業(yè)人員而言就更是如此。因為在很多時候,如果我們能夠很充分的理解和駕馭Lua,它不僅可以為我們的軟件產(chǎn)品增色很多,而且也可以為我們技術人員帶來一些意想不到的收獲。
  這是Lua系列的第一篇博客,此后還會有十幾篇相關的博客陸續(xù)發(fā)布,請有興趣的網(wǎng)友持續(xù)保持關注。如有問題,歡迎及時指正。好了,那就讓我們一起開始Lua的學習之旅吧。:)

相關文章

  • lua實現(xiàn)的2048小游戲

    lua實現(xiàn)的2048小游戲

    之前給大家分享了好幾個語言版本的2048了,今天再給大家分享一個lua腳本實現(xiàn)的2048小游戲,小伙伴們參考下吧。
    2015-03-03
  • Lua中實現(xiàn)遞歸刪除一個文件夾

    Lua中實現(xiàn)遞歸刪除一個文件夾

    這篇文章主要介紹了Lua中實現(xiàn)遞歸刪除一個文件夾,本文給出了使用C++和使用純LUA兩種方式實現(xiàn),需要的朋友可以參考下
    2015-01-01
  • Lua中的函數(shù)相關知識點整理匯總

    Lua中的函數(shù)相關知識點整理匯總

    這篇文章主要介紹了Lua中的函數(shù)相關知識點整理匯總,包括函數(shù)的參數(shù)傳遞和定義函數(shù)等基本知識,需要的朋友可以參考下
    2015-05-05
  • 舉例詳解Lua中的協(xié)同程序編程

    舉例詳解Lua中的協(xié)同程序編程

    這篇文章主要介紹了Lua中的協(xié)同程序編程,是Lua入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • Lua基礎迭代器的使用實例

    Lua基礎迭代器的使用實例

    今天小編就為大家分享一篇關于Lua基礎迭代器的使用實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Lua的內(nèi)存管理淺析

    Lua的內(nèi)存管理淺析

    這篇文章主要介紹了Lua的內(nèi)存管理淺析,本文講解了內(nèi)存管理的相關知識,同時講解了垃圾收集器的機制,需要的朋友可以參考下
    2014-09-09
  • Lua教程(八):數(shù)據(jù)持久化

    Lua教程(八):數(shù)據(jù)持久化

    這篇文章主要介紹了Lua教程(八):數(shù)據(jù)持久化,本文講解了數(shù)據(jù)文件持久化、序列化兩部份內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Lua教程(九):元表與元方法詳解

    Lua教程(九):元表與元方法詳解

    這篇文章主要介紹了Lua教程(九):元表與元方法詳解,本文講解了算術類的元方法、關系類的元方法、庫定義的元方法、table訪問的元方法等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Lua教程(十四):字符串庫詳解

    Lua教程(十四):字符串庫詳解

    這篇文章主要介紹了Lua教程(十四):字符串庫詳解,本文講解了基礎字符串函數(shù)、模式匹配函數(shù)、模式、捕獲(capture):、替換等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Lua極簡入門指南(三): loadfile和錯誤處理

    Lua極簡入門指南(三): loadfile和錯誤處理

    這篇文章主要介紹了Lua極簡入門指南(三): loadfile和錯誤處理以及追蹤錯誤等內(nèi)容,需要的朋友可以參考下
    2014-10-10

最新評論