{"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\/fr\/blog\/news\/lua-5-4","title":{"rendered":"Lua 5.4","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Apr\u00e8s deux ans de d\u00e9veloppement, la nouvelle version du langage de programmation Lua \u2014 5.4 \u2014 est sortie silencieusement et discr\u00e8tement le 29 juin.<\/p>\n<p>Lua \u2013 est un langage de programmation interpr\u00e9t\u00e9 simple, qui s'int\u00e8gre facilement dans les applications. Gr\u00e2ce \u00e0 ces qualit\u00e9s, Lua est largement utilis\u00e9 comme langage d'extension ou pour la description de la configuration des programmes (en particulier des jeux vid\u00e9o). Lua est distribu\u00e9 sous licence MIT.<\/p>\n<p>La version pr\u00e9c\u00e9dente (5.3.5) est sortie le 10 juillet 2018.<\/p>\n<h2>Principales modifications dans la nouvelle version<\/h2>\n<ul>\n<li>\n<p>un nouveau ramasse-miettes bas\u00e9 sur les g\u00e9n\u00e9rations (generational). Dans la fonction collectgarbage, les param\u00e8tres setpause et setstepmul sont d\u00e9clar\u00e9s obsol\u00e8tes, il est conseill\u00e9 d'utiliser le param\u00e8tre incremental \u00e0 la place ;<\/p>\n<\/li>\n<li>\n<p>une nouvelle fonction pour \u00e9mettre des avertissements warn avec la possibilit\u00e9 de d\u00e9sactiver leur affichage ;<\/p>\n<\/li>\n<li>\n<p>la nouvelle impl\u00e9mentation de math.random utilise l'algorithme xoshiro256** au lieu de celui fourni par libc et initialise le g\u00e9n\u00e9rateur avec un nombre al\u00e9atoire ;<\/p>\n<\/li>\n<li>\n<p>des constantes (constant variables) ;<\/p>\n<\/li>\n<li>\n<p>Les variables \u00ab fermables \u00bb (to-be-closed) sont des constantes locales pour lesquelles la m\u00e9thode __close est appel\u00e9e lors de la sortie de la port\u00e9e ;<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p>une nouvelle fonction lua_resetthread \u2014 qui nettoie la pile et ferme toutes les variables \u00ab fermables \u00bb ;<\/p>\n<\/li>\n<li>\n<p>une nouvelle fonction coroutine.close \u2014 qui ferme la coroutine sp\u00e9cifi\u00e9e et toutes ses variables \u00ab fermables \u00bb ;<\/p>\n<\/li>\n<li>\n<p>les donn\u00e9es utilisateur (userdata) peuvent contenir un ensemble de valeurs accessibles par index. Pour interagir avec elles, de nouvelles fonctions ont \u00e9t\u00e9 introduites : lua_newuserdatauv, lua_setiuservalue et lua_getiuservalue ;<\/p>\n<\/li>\n<li>\n<p>des informations de d\u00e9bogage sur les param\u00e8tres et les valeurs de retour des fonctions sont disponibles ;<\/p>\n<\/li>\n<li>\n<p>si une boucle for avec un index entier d\u00e9borde, la boucle se termine ;<\/p>\n<\/li>\n<li>\n<p>la fonction string.gmatch a re\u00e7u un argument optionnel sp\u00e9cifiant le d\u00e9calage depuis le d\u00e9but de la cha\u00eene pour la recherche de correspondances ;<\/p>\n<\/li>\n<li>\n<p>Les fonctions de conversion implicite des cha\u00eenes en nombres ont \u00e9t\u00e9 d\u00e9plac\u00e9es dans la biblioth\u00e8que de cha\u00eenes, et leur comportement a chang\u00e9. Par exemple, le r\u00e9sultat de l'op\u00e9ration \"1\" + \"2\" est maintenant un entier, et non un nombre \u00e0 virgule flottante ;<\/p>\n<\/li>\n<li>\n<p>une erreur peut survenir lors de la r\u00e9duction d'un bloc de m\u00e9moire dans la fonction d'allocation m\u00e9moire ;<\/p>\n<\/li>\n<li>\n<p>Un nouveau symbole de formatage dans la fonction string.format \u2013 %p (pour les pointeurs) ;<\/p>\n<\/li>\n<li>\n<p>la biblioth\u00e8que utf8 accepte des codes de caract\u00e8res allant jusqu'\u00e0 2\u00b3\u00b9 (avec un drapeau sp\u00e9cial, sinon seuls les codes jusqu'\u00e0 0x10FFFF sont accept\u00e9s et les surrogates ne sont pas permis) ;<\/p>\n<\/li>\n<li>\n<p>Les constantes enti\u00e8res qui sortent du champ de valeurs sont transform\u00e9es en nombres \u00e0 virgule flottante (auparavant, une troncature binaire se produisait);<\/p>\n<\/li>\n<li>\n<p>Le m\u00e9tam\u00e9thode __lt n'est plus utilis\u00e9 pour \u00e9muler le m\u00e9tam\u00e9thode __le, si n\u00e9cessaire, le m\u00e9tam\u00e9thode __le doit \u00eatre sp\u00e9cifi\u00e9 explicitement;<\/p>\n<\/li>\n<li>\n<p>Une \u00e9tiquette pour l'op\u00e9rateur goto ne peut pas \u00eatre cr\u00e9\u00e9e s'il existe d\u00e9j\u00e0 une \u00e9tiquette avec le m\u00eame nom dans la port\u00e9e actuelle (m\u00eame si elle a \u00e9t\u00e9 d\u00e9finie dans une port\u00e9e externe);<\/p>\n<\/li>\n<li>\n<p>Le m\u00e9tam\u00e9thode __gc peut ne pas \u00eatre une fonction. Si l'appel de la m\u00e9thode \u00e9choue, un avertissement sera affich\u00e9;<\/p>\n<\/li>\n<li>\n<p>La fonction print n'appelle pas tostring pour chaque argument, mais utilise ses propres conversions internes;<\/p>\n<\/li>\n<li>\n<p>La fonction io.lines retourne un ensemble de quatre valeurs au lieu d'une, pour \u00e9muler l'ancien comportement, entourez l'appel de parenth\u00e8ses si vous le passez comme param\u00e8tre lors de l'appel d'une autre fonction.<\/p>\n<\/li>\n<\/ul>\n<p>Source : <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.2 - 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\/fr\/blog\/news\/lua-5-4\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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":"Apr\u00e8s deux ans de d\u00e9veloppement, le 29 juin, une nouvelle version du langage de programmation Lua \u2014 5.4 est sortie discr\u00e8tement et sans bruit. Lua est un langage de programmation simple et interpr\u00e9t\u00e9 qui s'int\u00e8gre facilement dans les applications.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/lua-5-4","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/87047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=87047"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/87047\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=87047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=87047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=87047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}