Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 14194|Atbildi: 0

Lua un Luajit stiprās un vājās puses

[Kopēt saiti]
Publicēts 27.04.2018 09:44:40 | | | |
1. Kas ir lua&luaJit?



lua(www.lua.org)Patiesībā tā ir skriptēšanas valoda, kas izstrādāta, lai iegultu citas lietojumprogrammas
Luajit(www.luajit.org)Tas ir just-in-time izpildlaika kompilators lua, un to var arī teikt, ka tā ir efektīva lua versija.

2. Priekšrocības

1) Lua ir bezmaksas, maza, vienkārša, jaudīga, efektīva un viegla iegultā skriptēšanas valoda, un pašreizējā Lua izplatīšanas versija 5.3.1 ir tikai 276k.
2) Tas ir projekts, kas izstrādāts C valodā, tāpēc tas var darboties lielākajā daļā operētājsistēmu
3) Lua šobrīd ir ātrākā skriptu valoda, kas var uzlabot valodas elastību un maksimāli palielināt saglabāšanas ātrumu
4) Tās sintakse ir ļoti vienkārša, nav izņēmumu
5) lua var izmantot arī kā C API

3. Neatbilstības un atšķirības

1) Lua nav jaudīgas bibliotēkas, tāpēc daudzas funkcijas tiek īstenotas bez kodolīgām skriptēšanas valodām, piemēram, python, perl un ruby
2) Lua izņēmumu apstrādes funkcija ir pretrunīga, lai gan tā nodrošina izņēmumu apstrādes funkcijas pcland un xpcall
3) Unikoda kodēšanas atbalsts netiek nodrošināts LUA dzimtajā valodā, lai gan http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html var panākt ar dažiem kompromisiem
4) Tas nenodrošina trīskāršu operatoru operācijas a?b: c, kas tiek plaši izmantots C++
5) Nav slēdža ... gadījums... sintakse, ko var izdarīt tikai tad, ja: elseif.. elseif.. citādi .. beigu metode
6) Turpinājuma sintakse netiek nodrošināta cilpas laikā
7) Nav tādu operāciju kā a++ un a+=1, kas tiek plaši izmantotas C++
8) Lua indekss sākas ar 1, nevis pazīstamo 0 (virkne, tabula)
9) Piešķirot elementu nullei, tas nozīmē, ka elements nepastāv
10) Lua skaitliskais veids ir tikai skaitlis, un nav atšķirības starp int, float, double utt
11) Lua nav klases jēdziena, un to klases tiek īstenotas tabulu veidā
12) Tikai nulle un nepatiess lua ir nepatiess, un nulle ir patiesa lua
13) Daudzas programmas ir jāatzīmē ar (), lai palaistu, piemēram, a={["b"]=5}, print(a.b) var palaist, bet {["b"]=5}.b ziņos par kļūdu, un ({["b"]=5}).b ir nepieciešams

4. Pārskats

Kopumā LUA ir vienkārša un efektīva ngx_lua, ko plaši izmanto spēļu loģikas izstrādē un serveru izstrādē.

Pārcelts no: https://blog.csdn.net/ugly_man_/article/details/48577007

Pielikumā:

Lua un Luajit veiktspējas salīdzināšanas tests: https://blog.csdn.net/alexwoo0501/article/details/50618031





Iepriekšējo:Nginx Lua WAF lietojumprogrammu ugunsmūra ievainojamība
Nākamo:Nginx pievieno trešo pušu moduļus, kā arī iespējo moduļus, kurus Nginx atbalsta
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com