說(shuō)明:如果您有任何疑問(wèn)或想咨詢(xún)其他業(yè)務(wù)請(qǐng)撥打電話(huà) 400 685 0732
全網(wǎng)監(jiān)測(cè)海量數(shù)據(jù)按需發(fā)布監(jiān)測(cè)預(yù)警
實(shí)時(shí)把握輿情動(dòng)態(tài)精準(zhǔn)追溯信息源頭
lua的優(yōu)點(diǎn)是夠小夠簡(jiǎn)潔。但缺點(diǎn)也就是這五個(gè)字。對(duì)我來(lái)說(shuō),沒(méi)有內(nèi)建utf-8支持的語(yǔ)言在我的工作環(huán)境中非常不便。雖然可以自己寫(xiě)庫(kù),但引入了額外的工作。另一個(gè)問(wèn)題是它的c接口風(fēng)格。相對(duì)于python和perl使用的接口,lua的接口風(fēng)格和匯編更接近。開(kāi)始寫(xiě)起來(lái)時(shí)多少有些別扭。好在時(shí)間長(zhǎng)了就慢慢習(xí)慣了。
lua語(yǔ)言——lua語(yǔ)言特性是什么
只有一種復(fù)合數(shù)據(jù)結(jié)構(gòu)table,實(shí)際上dict和array是應(yīng)該分開(kāi)的,用lua做過(guò)實(shí)際項(xiàng)目,應(yīng)該能明白這是種不小的困擾沒(méi)有continue,白白增加了一層循環(huán),增加了縮進(jìn)層次,費(fèi)電且看起來(lái)不方便只有一種數(shù)字類(lèi)型(double),這不僅僅有性能問(wèn)題,語(yǔ)義也不對(duì)不支持異常處理,默認(rèn)的方式對(duì)編程不友好,不管如何強(qiáng)調(diào)保持語(yǔ)言的精簡(jiǎn),也不應(yīng)該不支持異常處理不支持decorator,這是非常重要的語(yǔ)法糖先寫(xiě)這么多,另外談?wù)剬?duì)上面一些朋友的看法的看法:沒(méi)有多核(線(xiàn)程)支持,這個(gè)問(wèn)題基本上不成立,多線(xiàn)程支持不見(jiàn)得非得通過(guò)語(yǔ)言提供,尤其是對(duì)lua這種以嵌入為基本目標(biāo)的語(yǔ)言,lua要保持純ansic實(shí)現(xiàn),就不能支持多線(xiàn)程,因?yàn)槎嗑€(xiàn)程不在c標(biāo)準(zhǔn)中。這里面值得討論的是如何在lua中提供多線(xiàn)程支持,第一種是在宿主程序中提供,第二種是作為庫(kù)提供,具體的問(wèn)題談起來(lái)比較復(fù)雜,不過(guò),如果你需要一個(gè)和本地線(xiàn)程n-n的,能好好的按照你的預(yù)期工作的平凡的多線(xiàn)程系統(tǒng),參考《lua程序設(shè)計(jì)》第二版,某章就用pthread實(shí)現(xiàn)了這么一個(gè)東西,你只需照抄代碼就可以取得。如果使用luajit,可以用luajit/ffi對(duì)luajit編程,可以實(shí)現(xiàn)一個(gè)沒(méi)有外部依賴(lài)的多線(xiàn)程系統(tǒng)。c/api難用,至少lua的c/api和python的比屬于非常非常好用的,可以說(shuō)lua是大體上最容易編程的解釋器/虛擬。
lua是什么編程語(yǔ)言
lua是一個(gè)小巧的腳本語(yǔ)言。作者是巴西人。該語(yǔ)言的設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。它的主頁(yè)是www.lua.org。
lua最著名的應(yīng)用是在暴雪公司的網(wǎng)絡(luò)游戲wow中。
lua腳本可以很容易的被c/c++代碼調(diào)用,也可以反過(guò)來(lái)調(diào)用c/c++的函數(shù),這使得lua在應(yīng)用程序中可以被廣泛應(yīng)用。不僅僅作為擴(kuò)展腳本,也可以作為普通的配置文件,代替xml,ini等文件格式,并且更容易理解和維護(hù)。
lua由標(biāo)準(zhǔn)c編寫(xiě)而成,代碼簡(jiǎn)潔優(yōu)美,幾乎在所有操作系統(tǒng)和平臺(tái)上都可以編譯,運(yùn)行。
一個(gè)完整的lua解釋器不過(guò)200k,在目前所有腳本引擎中,lua的速度是最快的。這一切都決定了lua是作為嵌入式腳本的最佳選擇。
lua有一個(gè)同時(shí)進(jìn)行的jit項(xiàng)目,提供在特定平臺(tái)上的即時(shí)編譯功能,這將給lua帶來(lái)更加優(yōu)秀的性能。請(qǐng)?jiān)L問(wèn)http://luajit.org/來(lái)了解這個(gè)項(xiàng)目。
其它特性lua還具有其它一些特性:同時(shí)支持面向過(guò)程編程和面向?qū)ο缶幊?;自?dòng)內(nèi)存管理;提供一系列數(shù)據(jù)結(jié)構(gòu),包括數(shù)組、鏈表、集合、字典、散列表等;語(yǔ)言?xún)?nèi)置正則表達(dá)式匹配;閉包(closure);函數(shù)也可以看做一個(gè)值;提供多線(xiàn)程支持;等等。如果大家還想了解更多與之有關(guān)的信息,歡迎關(guān)注我們文軍營(yíng)銷(xiāo)的官網(wǎng)。
推薦閱讀
說(shuō)明:如果您有任何疑問(wèn)或想咨詢(xún)其他業(yè)務(wù)請(qǐng)撥打電話(huà) 400 685 0732