{"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\">  System typ\u00f3w sekwencyjnych (typowanie stopniowe) zajmuje pozycj\u0119 po\u015bredni\u0105 pomi\u0119dzy dynamicznym a statycznym typowaniem. Luau umo\u017cliwia u\u017cycie statycznego typowania w razie potrzeby, wskazuj\u0105c informacje o typach za pomoc\u0105 specjalnych adnotacji. Oferowane s\u0105 wbudowane typy \u201eany\u201d, \u201enil\u201d, \u201eboolean\u201d, \u201enumber\u201d, \u201estring\u201d i \u201ethread\u201d. Zachowana zosta\u0142a r\u00f3wnie\u017c mo\u017cliwo\u015b\u0107 korzystania z dynamicznego typowania bez wyra\u017anego okre\u015blenia typ\u00f3w zmiennych i funkcji.         function foo(x: number, y: string): boolean         local k: string = y:rep(x)         return k == 'a'     end\n<li class=\"l\"> Wsparcie dla litera\u0142\u00f3w ci\u0105gowych (jak w Lua 5.3), takich jak '\na' (liczba szesnastkowa), '\nb' (znak Unicode) i '\nc' (koniec ci\u0105gu), a tak\u017ce mo\u017cliwo\u015b\u0107 czytelnego formatowania liczb (mo\u017cna pisa\u0107 1_000_000 zamiast 1000000), litera\u0142y dla liczb szesnastkowych (0x\u2026) i binarnych (0b\u2026).\n<li class=\"l\"> Wsparcie dla wyra\u017cenia 'continue', kt\u00f3re uzupe\u0142nia istniej\u0105ce s\u0142owo kluczowe 'break', umo\u017cliwiaj\u0105c przej\u015bcie do nowej iteracji p\u0119tli.\n<li class=\"l\"> Wsparcie dla z\u0142o\u017conych operator\u00f3w przypisania (+=, -=, *=, \/=, %=, ^=, ..=).\n<li class=\"l\"> Wsparcie dla u\u017cycia blok\u00f3w warunkowych 'if-then-else' w formie wyra\u017ce\u0144, zwracaj\u0105cych warto\u015b\u0107 obliczon\u0105 w trakcie wykonywania bloku. Mo\u017cliwe jest wskazanie dowolnej liczby wyra\u017ce\u0144 elseif w bloku.       local maxValue = if a &gt; 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\"> Ograniczenie standardowej biblioteki poprzez usuni\u0119cie funkcji, kt\u00f3re potencjalnie mog\u0105 stwarza\u0107 problemy z bezpiecze\u0144stwem. Na przyk\u0142ad, z standardowego zestawu wy\u0142\u0105czone zosta\u0142y biblioteki \u201eio\u201d (dost\u0119p do plik\u00f3w i uruchamianie proces\u00f3w), \u201epackage\u201d (dost\u0119p do plik\u00f3w i \u0142adowanie modu\u0142\u00f3w), \u201eos\u201d (usuni\u0119to funkcje dost\u0119pu do plik\u00f3w i zmiany zmiennych \u015brodowiskowych), \u201edebug\u201d (niebezpieczna praca z pami\u0119ci\u0105), \u201edofile\u201d oraz \u201eloadfile\u201d (dost\u0119p do systemu plik\u00f3w).\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.2 - 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.2\" \/>\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}]}}