Luau, yaratıcıların Roblox Studio'da kullandığı betik dilidir. Hızlı, küçük, güvenli ve kısmen yazımlı bir gömülebilir betik dili olup Lua 5.1 versiyonundan türetilmiştir.
Studio'daki Destek
Studio'daki Betik Editörü, autocompletion, sözdizimi vurgulama, statik linting, tür kontrolleri ve betik analizleri ile Luau'yu destekler. Ayrıca Roblox Motor API'si üyeleri için belgeleri ve fonksiyon imzalarını gösterir.
Türler
Luau, aşağıdaki veri türlerini içerir:
- Nil, yokluğu veya hiçbir şeyi temsil eder. Diğer herhangi bir değer veya veri türünden farklıdır.
- Numbers veya double, çift hassasiyetli (64-bit) kayan noktalı sayıları temsil eder.
- Strings, harfler, sayılar ve semboller gibi karakter dizileridir.
- Enums ise sabit öğe listeleridir.
Luau varsayılan olarak dinamik bir dildir. Değişkenler, fonksiyon parametreleri ve dönüş değerleri herhangi bir veri türünde olabilir. Bu, her veri parçası için tür belirtmek zorunda olmadığınız için kodu daha hızlı yazmanıza yardımcı olur. Yine de Luau'da değişkenler için açık türler belirleyebilir ve sıkı tür kontrolü etkinleştirerek tür sorunlarını belirgin ve kolayca bulunabilir hale getirebilirsiniz.
Veri Yapıları
Ayrıca aşağıdaki veri yapılarını ilkel veri türlerini kullanarak uygulayabilirsiniz:
- Yığınlar, tabloları kullanarak uygulayabileceğiniz Son Giren İlk Çıkar (Last-In-First-Out) koleksiyonlar olarak tanımlanır.
- Kuyruklar, tabloları kullanarak uygulayabileceğiniz İlk Giren İlk Çıkar (First-In-First-Out) koleksiyonlardır.
- Metatablolar, anahtar ve değer çiftlerini saklama ve aritmetik işlemleri hesaplama gibi işlevsellikleri elde etmek için gelişmiş yapılandırmalara sahip tablolardır.
Özellikler
Luau'da, değişkenler ve fonksiyonlar, bir betik içinde küresel ve yerel kapsam içerebilir. Luau, mantıksal, ilişkisel ve bileşik atama operatörleri içerir. Luau'nun kodu ne zaman yürütme yapacağını kontrol etmek için kontrol yapıları ve fonksiyonlar kullanabilirsiniz. Birçok operatör ve değişken ataması, Luau'nun beklediği türlere değerleri değiştirmek için türü zorlamak işlemi yapar.