{"id":87047,"date":"2020-07-02T19:42:06","date_gmt":"2020-07-02T17:42:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/lua-5-4"},"modified":"2020-07-02T19:42:06","modified_gmt":"2020-07-02T17:42:06","slug":"lua-5-4","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/news\/lua-5-4","title":{"rendered":"Lua 5.4","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po dvoch rokoch v\u00fdvoja, 29. j\u00fana tich\u00fa\u010dko a bez pov\u0161imnutia vy\u0161la nov\u00e1 verzia programovacieho jazyka Lua \u2014 5.4.<\/p>\n<p>Lua \u2013 je jednoduch\u00fd interpretabln\u00fd programovac\u00ed jazyk, ktor\u00fd sa \u013eahko integruje do aplik\u00e1ci\u00ed. V\u010faka t\u00fdmto vlastnostiam sa Lua \u0161iroko pou\u017e\u00edva ako jazyk na roz\u0161\u00edrenie alebo opis konfigur\u00e1cie programov (najm\u00e4 po\u010d\u00edta\u010dov\u00fdch hier). Lua je distribuovan\u00e1 pod licenciou MIT.<\/p>\n<p>Predch\u00e1dzaj\u00faca verzia (5.3.5) bola vydan\u00e1 10. j\u00fala 2018.<\/p>\n<h2>Hlavn\u00e9 zmeny v novej verzii<\/h2>\n<ul>\n<li>\n<p>nov\u00fd gener\u00e1tor odpadkov na z\u00e1klade gener\u00e1ci\u00ed. V funkcii collectgarbage s\u00fa parametre setpause a setstepmul ozna\u010den\u00e9 ako zastaran\u00e9, namiesto nich sa odpor\u00fa\u010da pou\u017e\u00edva\u0165 parameter incremental;<\/p>\n<\/li>\n<li>\n<p>nov\u00e1 funkcia na vyd\u00e1vanie varovan\u00ed warn s mo\u017enos\u0165ou vypnutia ich zobrazenia;<\/p>\n<\/li>\n<li>\n<p>nov\u00e1 implement\u00e1cia math.random pou\u017e\u00edva algoritmus xoshiro256** namiesto dod\u00e1van\u00e9ho libc a inicializuje gener\u00e1tor n\u00e1hodn\u00fdm \u010d\u00edslom;<\/p>\n<\/li>\n<li>\n<p>kon\u0161tanty (constant variables);<\/p>\n<\/li>\n<li>\n<p>\u00abuzatv\u00e1ran\u00e9\u00bb (to-be-closed) premenn\u00e9 \u2013 lok\u00e1lne kon\u0161tanty, pre ktor\u00e9 sa vykon\u00e1va met\u00f3da __close pri opusten\u00ed rozsahu platnosti;<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p>nov\u00e1 funkcia lua_resetthread \u2014 vy\u010dist\u00ed z\u00e1sobn\u00edk a vykon\u00e1 uzavretie v\u0161etk\u00fdch \u201ezatv\u00e1rate\u013en\u00fdch\u201c premenn\u00fdch;<\/p>\n<\/li>\n<li>\n<p>nov\u00e1 funkcia coroutine.close \u2014 uzatv\u00e1ra ur\u010den\u00fa s\u00fabe\u017en\u00fa \u00falohu a v\u0161etky jej \u201ezatv\u00e1rate\u013en\u00e9\u201c premenn\u00e9;<\/p>\n<\/li>\n<li>\n<p>u\u017e\u00edvate\u013esk\u00e9 d\u00e1ta (userdata) m\u00f4\u017eu obsahova\u0165 s\u00fabor hodn\u00f4t s pr\u00edstupom pod\u013ea indexu. Pre pr\u00e1cu s nimi boli zaveden\u00e9 nov\u00e9 funkcie: lua_newuserdatauv, lua_setiuservalue a lua_getiuservalue;<\/p>\n<\/li>\n<li>\n<p>je dostupn\u00e1 ladick\u00e1 inform\u00e1cia o parametroch a n\u00e1vratov\u00fdch hodnot\u00e1ch funkci\u00ed;<\/p>\n<\/li>\n<li>\n<p>ak sa v cykle na po\u010d\u00edtadlo for pou\u017e\u00edva celo\u010d\u00edseln\u00fd index a d\u00f4jde k prete\u010deniu \u2014 cyklus sa ukon\u010d\u00ed;<\/p>\n<\/li>\n<li>\n<p>do funkcie string.gmatch bol pridan\u00fd volite\u013en\u00fd argument, ktor\u00fd ur\u010duje posun od za\u010diatku re\u0165azca na vyh\u013ead\u00e1vanie zhod;<\/p>\n<\/li>\n<li>\n<p>funkcie implicitn\u00e9ho prevodu re\u0165azcov na \u010d\u00edsla boli presunut\u00e9 do kni\u017enice re\u0165azcov, zmenilo sa ich spr\u00e1vanie. Napr\u00edklad, v\u00fdsledok oper\u00e1cie \"1\" + \"2\" je teraz cel\u00e9 \u010d\u00edslo, nie \u010d\u00edslo s pl\u00e1vaj\u00facou desatinnou \u010diarkou;<\/p>\n<\/li>\n<li>\n<p>v funkcii na pridelenie pam\u00e4te m\u00f4\u017ee nasta\u0165 chyba pri zmen\u0161ovan\u00ed bloku pam\u00e4te;<\/p>\n<\/li>\n<li>\n<p>nov\u00fd form\u00e1tovac\u00ed symbol v funkcii string.format \u2013 %p (pre ukazovatele);<\/p>\n<\/li>\n<li>\n<p>kni\u017enica utf8 prij\u00edma k\u00f3dy znakov a\u017e do 2\u00b3\u00b9 (pri uveden\u00ed \u0161peci\u00e1lnej flagy, inak s\u00fa povolen\u00e9 iba k\u00f3dy do 0x10FFFF a nie s\u00fa povolen\u00e9 surrogate);<\/p>\n<\/li>\n<li>\n<p>\u010c\u00edseln\u00e9 konstanty, ktor\u00e9 presahuj\u00fa rozsah hodn\u00f4t, sa prev\u00e1dzaj\u00fa na pl\u00e1vaj\u00face \u010d\u00edsla (predt\u00fdm do\u0161lo k bitov\u00e9mu orezaniu);<\/p>\n<\/li>\n<li>\n<p>Met\u00f3da __lt sa u\u017e nepou\u017e\u00edva na emul\u00e1ciu met\u00f3dy __le, ak je to potrebn\u00e9, met\u00f3da __le mus\u00ed by\u0165 zadan\u00e1 v\u00fdslovne;<\/p>\n<\/li>\n<li>\n<p>\u0160t\u00edtok pre pr\u00edkaz goto nem\u00f4\u017ee by\u0165 vytvoren\u00fd, ak u\u017e v aktu\u00e1lnom rozsahu existuje \u0161t\u00edtok s rovnak\u00fdm menom (aj ke\u010f bol definovan\u00fd vo vonkaj\u0161ej oblasti);<\/p>\n<\/li>\n<li>\n<p>Met\u00f3da __gc nemus\u00ed by\u0165 len funkciou. Ak sa pokus o zavolanie met\u00f3dy nepodar\u00ed, zobraz\u00ed sa varovanie;<\/p>\n<\/li>\n<li>\n<p>Funkcia print nevol\u00e1 tostring pre ka\u017ed\u00fd argument, ale pou\u017e\u00edva svoje intern\u00e9 konverzie;<\/p>\n<\/li>\n<li>\n<p>Funkcia io.lines vracia sadu \u0161tyroch hodn\u00f4t namiesto jednej, na emul\u00e1ciu star\u00e9ho spr\u00e1vania zaba\u013ete volanie do z\u00e1tvoriek, ak ho pred\u00e1vate ako parameter pri volan\u00ed inej funkcie.<\/p>\n<\/li>\n<\/ul>\n<p>Zdroj: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/development\/15788994\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, 29 \u0438\u044e\u043d\u044f \u0442\u0438\u0445\u043e \u0438 \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Lua \u2014 5.4. Lua &ndash; \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0433\u043a\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u0438\u043c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430\u043c, Lua \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c (\u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0438\u0433\u0440). \u0420\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u0441\u044f Lua \u043f\u043e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 MIT. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f (5.3.5) \u0432\u044b\u0445\u043e\u0434\u0438\u043b\u0430 [&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-87047","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, 29 \u0438\u044e\u043d\u044f \u0442\u0438\u0445\u043e \u0438 \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Lua \u2014 5.4. Lua \u2013 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0433\u043a\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.\" \/>\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\/sk\/blog\/news\/lua-5-4\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\udd47Lua 5.4 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, 29 \u0438\u044e\u043d\u044f \u0442\u0438\u0445\u043e \u0438 \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Lua \u2014 5.4. Lua \u2013 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0433\u043a\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/news\/lua-5-4\" \/>\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=\"2020-07-02T17:42:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-02T17:42:06+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\udd47Lua 5.4 | ProHoster","description":"Po dvoch rokoch v\u00fdvoja, 29. j\u00fana, ticho a nen\u00e1padne vy\u0161la nov\u00e1 verzia programovacieho jazyka Lua \u2014 5.4. Lua je jednoduch\u00fd interpretovan\u00fd programovac\u00ed jazyk, ktor\u00fd sa \u013eahko integruje do aplik\u00e1ci\u00ed.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/lua-5-4","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\udd47Lua 5.4 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, 29 \u0438\u044e\u043d\u044f \u0442\u0438\u0445\u043e \u0438 \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Lua \u2014 5.4. Lua \u2013 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0433\u043a\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/sk\/blog\/news\/lua-5-4","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":"2020-07-02T17:42:06+00:00","article:modified_time":"2020-07-02T17:42:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87047","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-02-28 13:59:56","updated":"2022-10-03 15:54:16","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/87047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=87047"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/87047\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=87047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=87047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=87047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}