1. Lua&luaJit nedir?
Lua(www.lua.org)Aslında, diğer uygulamaları gömmek için geliştirilmiş bir betik dilidir
Luajit(www.luajit.org)Lua'nın tam zamanında çalışma zamanı derleyicisidir ve aynı zamanda verimli bir lua versiyonu olarak da söylenebilir.
2. Avantajlar
1) Lua ücretsiz, küçük, basit, güçlü, verimli ve hafif gömülü bir betik dilidir ve Lua'nın mevcut dağıtım sürümü 5.3.1 sadece 276k seviyesinde yer alır. 2) C dilinde geliştirilmiş bir projedir, bu yüzden çoğu işletim sisteminde çalışabilir 3) Lua şu anda en hızlı betik dilidir; bu dil esnekliğini artırabilir ve saklama hızını en üst düzeye çıkarabilir 4) Sözdizimi çok basit, istisna yoktur 5) lua ayrıca C için bir API olarak da kullanılabilir
3. Yetersizlikler ve farklılıklar
1) Lua'nın güçlü bir kütüphanesi yoktur, bu yüzden birçok fonksiyon python, perl ve ruby gibi kısa betik dilleri olmadan uygulanmıştır 2) Lua'nın istisna işleme fonksiyonu tartışmalıdır, ancak pcland ve xpcall için istisna işleme fonksiyonları sağlar 3) LUA ana dilinde Unicode kodlama desteği sağlanmamaktadır, ancak http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html bazı uzlaşmalarla sağlanabilir 4) C++'da yaygın olarak kullanılan a?b:c için üçlü operatör işlemleri sağlamaz. 5) Anahtar yok... dava... Sözdizimi yalnızca şu durumlarda yapılabilir: elsee.. elsee.. Yoksa.. Son yöntemi 6) Döngü sırasında devam sözdizimi sağlanmıyor 7) C++'da yaygın olarak kullanılan a++ ve a+=1 gibi işlemler yoktur 8) Lua'nın indeksi 1'den başlar, tanıdık 0 (dize, tablo) değil 9) Bir elemanı sıfıra atadığınızda, bu elemanın var olmadığı anlamına gelir 10) Lua'nın sayısal türü sadece sayıdır ve int, float, double vb. arasında bir ayrım yoktur 11) Lua'da sınıflar kavramı yoktur ve sınıfları tablolar şeklinde uygulanır 12) Lua'da sadece sıfır ve yanlış yanlıştır, lua'da sıfır doğrudur 13) Birçok programın çalışması için () ile işaretlenmelidir; örneğin, a={["b"]=5}, print(a.b) çalıştırılabilir, ancak {["b"]=5}.b hata bildirir ve ({["b"]=5}).b gereklidir
4. Genel Bakış
Özetle, LUA basit ve verimli bir ngx_lua oyun mantığı geliştirme ve sunucu geliştirmede yaygın olarak kullanılır.
Transfer olunanlar: https://blog.csdn.net/ugly_man_/article/details/48577007
Ekli:
Lua ve Luajit performans karşılaştırma testi: https://blog.csdn.net/alexwoo0501/article/details/50618031
|