{"id":102211,"date":"2021-11-04T15:37:01","date_gmt":"2021-11-04T13:37:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov"},"modified":"2021-11-04T15:37:01","modified_gmt":"2021-11-04T13:37:01","slug":"otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov","title":{"rendered":"Kod Luau, wariantu j\u0119zyka Lua z kontrol\u0105 typ\u00f3w, zosta\u0142 otwarty","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Og\u0142oszono otwarcie kodu \u017ar\u00f3d\u0142owego i publikacj\u0119 pierwszego osobnego wydania j\u0119zyka programowania Luau, kt\u00f3ry kontynuuje rozw\u00f3j j\u0119zyka Lua i jest wstecznie kompatybilny z Lua 5.1. J\u0119zyk Luau jest g\u0142\u00f3wnie przeznaczony do wbudowywania skrypt\u00f3w w aplikacjach i skupia si\u0119 na osi\u0105gni\u0119ciu wysokiej wydajno\u015bci oraz niskiego zu\u017cycia zasob\u00f3w. Kod projektu zosta\u0142 napisany w j\u0119zyku C++ i udost\u0119pniony na licencji MIT.    <\/p>\n<p>Luau rozszerza Lua o mo\u017cliwo\u015bci typowania oraz wprowadza nowe konstrukcje sk\u0142adniowe, takie jak litera\u0142y \u0142a\u0144cuchowe. J\u0119zyk jest wstecznie kompatybilny z Lua 5.1 oraz cz\u0119\u015bciowo z nowszymi wersjami. Wspierane jest API Lua Runtime, co pozwala na korzystanie z Luau z ju\u017c istniej\u0105cym kodem i wi\u0105zaniami (binding). Zasadniczy runtime j\u0119zykowy oparty jest na silnie zmodyfikowanym kodzie Lua runtime 5.1, jednak interpreter zosta\u0142 ca\u0142kowicie przepisany. Podczas rozwoju zastosowano nowe techniki optymalizacji, kt\u00f3re pozwoli\u0142y osi\u0105gn\u0105\u0107 wy\u017csz\u0105 wydajno\u015b\u0107 w por\u00f3wnaniu do Lua.      <\/p>\n<p>Projekt zosta\u0142 opracowany przez firm\u0119 Roblox i jest u\u017cywany w kodzie platformy gier, gier oraz aplikacji u\u017cytkowych tej firmy, w tym edytora Roblox Studio. Pocz\u0105tkowo Luau rozwijano w zamkni\u0119tym kr\u0119gu, ale ostatecznie postanowiono przenie\u015b\u0107 go do kategorii otwartych projekt\u00f3w w celu dalszego wsp\u00f3lnego rozwoju przy udziale spo\u0142eczno\u015bci.    <\/p>\n<p>Kompaktowo\u015b\u0107 i \u0142atwo\u015b\u0107 wbudowania w inne projekty. Kod sk\u0142ada si\u0119 jedynie z kilku plik\u00f3w w j\u0119zyku C, kt\u00f3re nie wymagaj\u0105 do kompilacji zewn\u0119trznych zale\u017cno\u015bci. Skompilowana najprostsza aplikacja zajmuje oko\u0142o 190 KB;  <\/p>\n<ul>\n<li class=\"l\">  \u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0442\u0438\u043f\u043e\u0432 (Gradual typing), \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0430\u044f \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u0435\u0439. Luau \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438,  \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u0438\u043f\u0430\u0445 \u0447\u0435\u0440\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438.  \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u044b &#171;any&#187;, &#171;nil&#187;, &#171;boolean&#187;, &#171;number&#187;, &#171;string&#187; \u0438 &#171;thread&#187;. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0435\u0437 \u044f\u0432\u043d\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.         function foo(x: number, y: string): boolean         local k: string = y:rep(x)         return k == &#171;a&#187;     end\n<li class=\"l\"> \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u043e\u0432 (\u043a\u0430\u043a \u0432 Lua 5.3), \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a &#171;&#92;0x**&#187; (\u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e), &#171;&#92;u{**}&#187; (Unicode-\u0441\u0438\u043c\u0432\u043e\u043b) \u0438 &#171;&#92;z&#187; (\u043a\u043e\u043d\u0435\u0446 \u0441\u0442\u0440\u043e\u043a\u0438), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0433\u043e \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f \u0447\u0438\u0441\u0435\u043b (\u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c 1_000_000 \u0432\u043c\u0435\u0441\u0442\u043e 1000000), \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044b \u0434\u043b\u044f  \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0445 (0x&#8230;) \u0438 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b (0b&#8230;&#8230;.).\n<li class=\"l\"> \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f &#171;continue&#187;, \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0435\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e &#171;break&#187;, \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043a \u043d\u043e\u0432\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u0430.\n<li class=\"l\"> Wsparcie dla z\u0142o\u017conych operator\u00f3w przypisania (+=, -=, *=, \/=, %=, ^=, ..=).\n<li class=\"l\"> \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432&#187;if-then-else&#187; \u0432 \u0444\u043e\u0440\u043c\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0431\u043b\u043e\u043a\u0430. \u0414\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439  elseif \u0432 \u0431\u043b\u043e\u043a\u0435.       local maxValue = if a > b then a else b     local sign = if x < 0 then -1 elseif x > 0 then 1 else 0\n<li class=\"l\"> Obecno\u015b\u0107 trybu izolacji (sandbox), kt\u00f3ry pozwala na uruchamianie kodu, kt\u00f3ry nie jest godny zaufania. Mo\u017cliwo\u015b\u0107 ta mo\u017ce by\u0107 stosowana do uruchamiania obok w\u0142asnego kodu kodu napisanego przez innych programist\u00f3w, na przyk\u0142ad zewn\u0119trznych bibliotek, kt\u00f3rych bezpiecze\u0144stwo nie mo\u017ce by\u0107 gwarantowane.\n<li class=\"l\"> \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0434\u0430\u043b\u0435\u043d\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 &#171;io&#187; (\u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432), &#171;package&#187; (\u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043c\u043e\u0434\u0443\u043b\u0435\u0439), &#171;os&#187; (\u0443\u0434\u0430\u043b\u0435\u043d\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f), &#171;debug&#187; (\u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e),  &#171;dofile&#187; \u0438 &#171;loadfile&#187; (\u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0424\u0421).\n<li class=\"l\"> Dostarczenie narz\u0119dzi do statycznej analizy kodu, wykrywania b\u0142\u0119d\u00f3w (linter) oraz sprawdzania poprawno\u015bci u\u017cycia typ\u00f3w.\n<li class=\"l\"> W\u0142asny wydajny parser, interpreter bajtkodu i kompilator. Luau obecnie nie wspiera kompilacji JIT, ale twierdzi si\u0119, \u017ce interpreter Luau w niekt\u00f3rych sytuacjach jest por\u00f3wnywalny pod wzgl\u0119dem wydajno\u015bci z LuaJIT.            <\/ul>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56098\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Luau, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Lua \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Lua 5.1. \u042f\u0437\u044b\u043a Luau \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u043d\u0430\u0446\u0435\u043b\u0435\u043d \u043d\u0430 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043d\u0438\u0437\u043a\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C++ \u0438 \u043e\u0442\u043a\u0440\u044b\u0442 \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102211","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Luau, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Lua \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Lua 5.1.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0442\u043a\u0440\u044b\u0442 \u043a\u043e\u0434 Luau, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u044f\u0437\u044b\u043a\u0430 Lua \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0442\u0438\u043f\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Luau, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Lua \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Lua 5.1.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-11-04T13:37:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-04T13:37:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Otwarty kod Luau, wersji j\u0119zyka Lua z weryfikacj\u0105 typ\u00f3w | ProHoster","description":"Og\u0142oszono otwarcie kodu \u017ar\u00f3d\u0142owego i publikacj\u0119 pierwszego osobnego wydania j\u0119zyka programowania Luau, kt\u00f3ry kontynuuje rozw\u00f3j j\u0119zyka Lua i jest zgodny z Lua 5.1.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0442\u043a\u0440\u044b\u0442 \u043a\u043e\u0434 Luau, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u044f\u0437\u044b\u043a\u0430 Lua \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0442\u0438\u043f\u043e\u0432 | ProHoster","og:description":"\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Luau, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Lua \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Lua 5.1.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-11-04T13:37:01+00:00","article:modified_time":"2021-11-04T13:37:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102211","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-11-04 13:37:30","updated":"2022-10-08 06:05:36","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/102211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=102211"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/102211\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=102211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=102211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=102211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}