nemrég bejelentették az első változat kiadását független a programozási nyelvtől luau, amely a Lua fejlesztésével folytatódik, és a Lua 5.1 korábbi verzióival is kompatibilis.
A luau nyelv az elsősorban szkriptmotorok beágyazásához készült alkalmazásokban, és célja a nagy teljesítmény és az alacsony erőforrás-felhasználás elérése. A projekt kódja C ++ nyelven íródott, és az MIT licenc alatt van nyitva.
A Luau típusellenőrzési lehetőségekkel és néhány builddel bővíti a Luát új szintaktika, mint például a string literálok. A nyelv kompatibilis a Lua 5.1 korábbi verzióival és részben az újabb verziókkal. A Lua Runtime API támogatott, lehetővé téve a Luau használatát már meglévő kódokkal és hivatkozásokkal.
Mától a Luau már nem a Roblox platform elválaszthatatlan része; egy független, nyílt forráskódú nyelv.
A nyelvi futtatókörnyezet az erősen átdolgozott Lua 5.1 futási kódon alapul, de az interpretátort teljesen átírták. A fejlesztés néhány új optimalizálási technikát tartalmazott, amelyek lehetővé tették a Lua-hoz képest nagyobb teljesítmény elérését.
Amikor a Robloxot 15 évvel ezelőtt létrehozták, a Lua-t választottuk programozási nyelvnek. A Lua kicsi volt, gyors, könnyen integrálható és megtanulható, és óriási lehetőségeket nyitott meg fejlesztőink előtt.
A Roblox nagy része Lua-ra épült, beleértve a több százezer sor belső fejlesztésű kódot, amely a mai napig biztosítja a Roblox alkalmazást és a Roblox Studiót, valamint a fejlesztők által létrehozott több millió élményt. Sokuk számára ez volt az első programozási nyelv, amit megtanultak.
A projektet a Roblox fejlesztette ki, és játékplatform kódokban és egyedi alkalmazásokban használják ettől a cégtől, beleértve a Roblox Studio kiadóját is. A Luau-t kezdetben zárt ajtók mögött fejlesztették ki, de végül úgy döntöttek, hogy a nyílt projektek kategóriájába helyezik át a közösség részvételével történő további közös fejlesztés érdekében.
Tulajdonságok:
- Szekvenciális típusú rendszer, amely a dinamikus és a statikus írás köztes pozícióját foglalja el. A Luau szükség szerint lehetővé teszi a statikus írást azáltal, hogy speciális megjegyzéseken keresztül megadja a típusinformációkat.
- Az beépített típusok "Bármilyen", "nulla", "boolean", "szám", "karakterlánc" és "szál". Ugyanakkor megmarad a dinamikus gépelés használatának lehetősége a változók és függvények típusának kifejezett meghatározása nélkül.
- A szó szerinti karakterláncok támogatása (mint a Lua 5.3-ban)
- Támogatja a "continue" kifejezést a meglévő "break" kulcsszó mellett, hogy a ciklus új iterációjára ugorjon.
- Összetett hozzárendelési operátorok támogatása
- Használatának támogatása feltételes blokkok "Ha-akkor-else" olyan kifejezések formájában, amelyek a blokk végrehajtása során kiszámított értéket adják vissza. Egy blokkban tetszőleges számú elseif utasítást adhat meg.
- A homokozó mód jelenléte amely lehetővé teszi nem megbízható kód futtatását. Ezzel a funkcióval megszervezheti a saját kódját és egy másik fejlesztő által írt kódot, például harmadik féltől származó könyvtárakat, amelyek nem garantálhatók egymás mellett.
- A szabványos könyvtár korlátozása, amelyből eltávolították azokat a funkciókat, amelyek biztonsági problémákat okozhatnak. Például: "io" (hozzáférés a fájlokhoz és indítási folyamatokhoz), "package" (hozzáférés a fájlokhoz és betöltési modulokhoz), "os" (a fájlok elérésére és a környezeti változók megváltoztatására szolgáló funkciók eltávolítva), "Debug" (nem biztonságos) könyvtárak. memóriakezelés), "dofile" és "loadfile" (fájlrendszer hozzáférés).
- Eszközök biztosítása a statikus kódelemzéshez, hibaészleléshez (Linter) és a típushasználat érvényesítéséhez.
- elemző, bájtkód értelmező és nagy teljesítményű szabadalmaztatott fordító.
- A Luau még nem támogatja a JIT-összeállítást, de az érvelés szerint a Luau-tolmács teljesítménye bizonyos helyzetekben meglehetősen összehasonlítható a LuaJIT-tel.
Végül ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a részleteket A következő linken.