Lua dilinin bir tür kontrol çeşidi olan Luau, açık kaynak haline geldi

geçenlerde ilk versiyonun yayınlandığı duyuruldu programlama dilinden bağımsız luauLua'nın geliştirilmesiyle devam eden ve aynı zamanda Lua 5.1'in önceki sürümleriyle de uyumlu olan .

Luau dili öncelikle komut dosyası motorlarını gömmek için tasarlanmıştır uygulamalarda yüksek performans ve düşük kaynak tüketimi elde etmeyi amaçlar. Proje kodu C++ ile yazılmıştır ve MIT lisansı altında açıktır.

Luau, Lua'yı tip kontrol yetenekleri ve bazı yapılarla genişletiyor dize değişmezleri gibi yeni sözdizimleri. Dil, Lua 5.1'in önceki sürümleriyle ve kısmen daha yeni sürümlerle uyumludur. Lua Runtime API desteklenir, Luau'nun önceden var olan kodlar ve bağlantılarla kullanılmasına izin verir.

Bugün itibariyle, Luau artık Roblox platformunun ayrılmaz bir parçası değil; bağımsız bir açık kaynak dilidir.

Dil çalışma zamanı, yoğun bir şekilde revize edilmiş Lua 5.1 çalışma zamanı koduna dayanmaktadır, ancak yorumlayıcı tamamen yeniden yazılmıştır. Geliştirme, Lua'ya kıyasla daha yüksek performans elde etmeyi mümkün kılan bazı yeni optimizasyon tekniklerini içeriyordu.

15 yıl önce Roblox oluşturulduğunda programlama dili olarak Lua'yı seçtik. Lua küçüktü, hızlıydı, entegrasyonu ve öğrenmesi kolaydı ve geliştiricilerimiz için büyük olanaklar yarattı.

Roblox uygulamasına ve Roblox Studio'ya bugüne kadar güç veren yüz binlerce satır dahili olarak geliştirilmiş kod ve geliştiricilerin yarattığı milyonlarca deneyim de dahil olmak üzere Roblox'un çoğu Lua üzerine inşa edildi. Birçoğu için bu, öğrendikleri ilk programlama diliydi.

Proje Roblox tarafından geliştirildi ve oyun platformu kodunda ve özel uygulamalarda kullanılıyor Roblox Studio'nun yayıncısı da dahil olmak üzere bu şirketten. Başlangıçta, Luau kapalı kapılar ardında geliştirildi, ancak sonunda, topluluğun katılımıyla daha fazla ortak geliştirme için açık projeler kategorisine aktarılmasına karar verildi.

Özellikler:

  • Dinamik ve statik yazma arasında bir ara konum işgal eden sıralı tip bir sistem. Luau, özel açıklamalar aracılığıyla tür bilgilerini belirterek gerektiğinde statik yazmaya izin verir.
  • NS yerleşik tipler "Herhangi biri", "nil", "boolean", "number", "string" ve "thread". Aynı zamanda, değişkenlerin ve işlevlerin türünü açıkça tanımlamadan dinamik yazmayı kullanma yeteneği de korunur.
  • Değişmez dizeler için destek (Lua 5.3'te olduğu gibi)
  • Döngünün yeni bir yinelemesine atlamak için mevcut "break" anahtar kelimesine ek olarak "devam" ifadesi desteği.
  • Bileşik atama operatörleri için destek
  • kullanımı için destek koşullu bloklar "If-then-else", bloğun yürütülmesi sırasında hesaplanan değeri döndüren ifadeler biçiminde. Bir blokta isteğe bağlı sayıda elseif ifadesi belirtebilirsiniz.
  • Bir sanal alan modunun varlığı bu da güvenilmeyen kod çalıştırmanıza izin verir. Bu işlev, kendi kodunuzu ve başka bir geliştirici tarafından yazılan kodu, örneğin yan yana çalışması garanti edilemeyen üçüncü taraf kitaplıkları düzenlemek için kullanılabilir.
  • Güvenlik sorunları oluşturabilecek işlevlerin bulunduğu standart kitaplığın sınırlaması kaldırılmıştır. Örneğin, "io" (dosyalara ve başlangıç ​​işlemlerine erişim), "paket" (dosyalara ve yükleme modüllerine erişim), "os" (dosyalara erişim ve ortam değişkenlerini değiştirme işlevleri kaldırılmıştır), "Debug" (güvensiz) kitaplıkları bellek işleme), "dofile" ve "loadfile" (dosya sistemi erişimi).
  • Statik kod analizi, hata tespiti (Linter) ve türlerin kullanımının doğrulanması için araçlar sağlayın.
  • analizör, bayt kodu yorumlayıcısı ve yüksek performanslı tescilli derleyici.
  • Luau henüz JIT derlemesini desteklemiyor, ancak bazı durumlarda Luau yorumlayıcısının performans açısından LuaJIT ile oldukça karşılaştırılabilir olduğu iddia ediliyor.

Nihayet onun hakkında daha fazla bilgi edinmekle ilgileniyorsanayrıntıları kontrol edebilirsiniz Aşağıdaki bağlantıda.


Makalenin içeriği şu ilkelerimize uygundur editoryal etik. Bir hata bildirmek için tıklayın burada.

İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak.

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.