Ang Luau, isang variant ng pagsuri ng uri ng wikang Lua ay nagiging open source

Kamakailan lamang ang paglabas ng unang bersyon ay inihayag independyente sa programming language luau, na nagpapatuloy sa pagbuo ng Lua at tugma din sa mga nakaraang bersyon ng Lua 5.1.

Ang wikang Luau ay pangunahing idinisenyo para sa pag-embed ng mga script engine sa mga aplikasyon at naglalayong makamit ang mataas na pagganap at mababang pagkonsumo ng mapagkukunan. Ang code ng proyekto ay nakasulat sa C ++ at bukas sa ilalim ng lisensya ng MIT.

Pinapalawak ni Luau ang Lua na may mga kakayahan sa pagsuri ng uri at ilang mga build bagong syntactics tulad ng string literals. Ang wika ay katugma sa mga nakaraang bersyon ng Lua 5.1 at bahagyang sa mga mas bagong bersyon. Ang Lua Runtime API ay suportado, na nagpapahintulot sa Luau na magamit sa mga dati nang code at link.

Sa ngayon, ang Luau ay hindi na isang hindi mapaghihiwalay na bahagi ng platform ng Roblox; ay isang malayang open source na wika.

Ang runtime ng wika ay batay sa mabigat na binagong Lua 5.1 runtime code, ngunit ang interpreter ay ganap na muling naisulat. Ang pag-unlad ay nagsasangkot ng ilang mga bagong diskarte sa pag-optimize na naging posible upang makamit ang mas mataas na pagganap kumpara sa Lua.

Noong nilikha ang Roblox 15 taon na ang nakakaraan, pinili namin ang Lua bilang programming language. Maliit si Lua, mabilis, madaling isama at matutunan, at nagbukas ito ng malalaking posibilidad para sa aming mga developer.

Karamihan sa Roblox ay binuo sa Lua, kabilang ang daan-daang libong linya ng internal na binuong code na nagpapagana sa Roblox application at Roblox Studio hanggang ngayon, at ang milyun-milyong karanasan na nilikha ng mga developer. Para sa marami sa kanila, ito ang unang programming language na natutunan nila.

Ang proyekto ay binuo ng Roblox at ginagamit sa code ng platform ng laro at mga custom na application mula sa kumpanyang ito, kasama ang publisher ng Roblox Studio. Sa una, ang Luau ay binuo sa likod ng mga saradong pinto, ngunit sa huli ay napagpasyahan na ilipat ito sa kategorya ng mga bukas na proyekto para sa karagdagang pinagsamang pag-unlad kasama ang pakikilahok ng komunidad.

Pangunahing Mga Tampok:

  • Isang sequential type system, na sumasakop sa isang intermediate na posisyon sa pagitan ng dynamic at static na pagsulat. Pinapayagan ng Luau ang static na pagsulat kung kinakailangan sa pamamagitan ng pagtukoy ng uri ng impormasyon sa pamamagitan ng mga espesyal na anotasyon.
  • Ang built-in na mga uri "Any", "nil", "boolean", "number", "string" at "thread". Kasabay nito, pinapanatili din ang kakayahang gumamit ng dynamic na pag-type nang walang tahasang pagtukoy sa uri ng mga variable at function.
  • Suporta para sa literal na mga string (tulad ng sa Lua 5.3)
  • Suporta para sa expression na "magpatuloy", bilang karagdagan sa umiiral na keyword na "break", upang lumipat sa isang bagong pag-ulit ng loop.
  • Suporta para sa mga operator ng compound assignment
  • Suporta para sa paggamit ng mga kondisyong bloke "If-then-else" sa anyo ng mga expression na nagbabalik ng halaga na kinakalkula sa panahon ng pagpapatupad ng block. Maaari mong tukuyin ang isang arbitrary na bilang ng mga elseif na pahayag sa isang bloke.
  • Ang pagkakaroon ng sandbox mode na nagpapahintulot sa iyo na magpatakbo ng hindi pinagkakatiwalaang code. Ang function na ito ay maaaring gamitin upang ayusin ang iyong sariling code at code na isinulat ng isa pang developer, halimbawa mga third-party na library na hindi magagarantiyahan, upang tumakbo nang magkatabi.
  • Isang limitasyon ng karaniwang library kung saan inalis ang mga function na maaaring lumikha ng mga problema sa seguridad. Halimbawa, ang mga library na "io" (access sa mga file at proseso ng pagsisimula), "package" (access sa mga file at load modules), "os" (mga function para ma-access ang mga file at baguhin ang mga variable ng kapaligiran ay inalis), "Debug" (hindi secure memory handling), "dofile" at "loadfile" (file system access).
  • Magbigay ng mga tool para sa pagsusuri ng static na code, pagtuklas ng error (Linter) at pagpapatunay sa paggamit ng mga uri.
  • Analyzer, interpreter ng bytecode at high performance proprietary compiler.
  • Hindi pa sinusuportahan ng Luau ang JIT compilation, ngunit pinagtatalunan na ang Luau interpreter ay medyo maihahambing sa pagganap sa LuaJIT sa ilang sitwasyon.

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.