Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 14194|Svar: 0

Styrkor och svagheter hos Lua och Luajit

[Kopiera länk]
Publicerad på 2018-04-27 09:44:40 | | | |
1. Vad är lua&luaJit?



lua(www.lua.org)Det är faktiskt ett skriptspråk utvecklat för att bädda in andra applikationer
Luajit(www.luajit.org)Det är en just-in-time-kompilator av lua, och kan också sägas vara en effektiv version av lua.

2. Fördelar

1) Lua är ett fritt, litet, enkelt, kraftfullt, effektivt och lättviktigt inbyggt skriptspråk, och den nuvarande distributionsversionen 5.3.1 av Lua är endast 276k.
2) Det är ett projekt utvecklat i C, så det kan köras på de flesta operativsystem
3) Lua är för närvarande det snabbaste skriptspråket, vilket kan förbättra språkets flexibilitet och maximera minneshastigheten
4) Dess syntax är mycket enkel, det finns inga undantag
5) lua kan också användas som ett API för C

3. Brister och skillnader

1) Lua har inte ett kraftfullt bibliotek, så många funktioner implementeras utan de korta skriptspråken som python, perl och ruby
2) Luas undantagshanteringsfunktion är kontroversiell, även om den tillhandahåller undantagshanteringsfunktioner för pcland och xpcall
3) Stöd för Unicode-kodning finns inte i LUA:s modersmål, även om http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html kan uppnås genom vissa kompromisser
4) Den tillhandahåller inte ternära operatoroperationer för a?b:c, vilket är allmänt använt i C++
5) Ingen switch... Fall... syntax, vilket endast kan göras genom om: annars om.. annars om.. annars.. slutmetoden
6) Fortsättningssyntaxen tillhandahålls inte vid loopar
7) Det finns inga operationer som a++ och a+=1, vilka är allmänt använda i C++
8) Luas index börjar på 1, inte den välkända 0:an (sträng, tabell)
9) När du tilldelar ett element noll betyder det att elementet inte existerar
10) Den numeriska typen av lua är endast tal, och det finns ingen skillnad mellan int, float, double osv
11) Det finns inget klassbegrepp i lua, och deras klasser är implementerade i form av tabeller
12) Endast noll och falskt i lua är falskt, och noll är sant i lua
13) Många program måste markeras med () för att köras, till exempel a={["b"]=5}, print(a.b) kan köras, men {["b"]=5}.b rapporterar ett fel, och ({["b"]=5}).b krävs

4. Översikt

Sammanfattningsvis är LUA en enkel och effektiv ngx_lua som används flitigt inom spellogikutveckling och serverutveckling.

Överförd från: https://blog.csdn.net/ugly_man_/article/details/48577007

Bifogat:

Lua och Luajit prestandajämförelsetest: https://blog.csdn.net/alexwoo0501/article/details/50618031





Föregående:Nginx Luas sårbarhet för WAF-applikationsbrandvägg
Nästa:NGINX lägger till tredjepartsmoduler samt aktiverar moduler som NGINX stöder nativt
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com