
Interpréteur Lua 5.3 patché corrigeant CVE-2020-24370, offrant un environnement de script sécurisé pour les applications embarquées et l'automatisation.
dl.display dd { padding-bottom: 0.2em ; }
tt, kbd, code { font-size: 12pt ; }
Bienvenue dans Lua 5.3
Lua est un langage de script puissant, rapide, léger et embarquable, développé par une équipe de PUC-Rio, l'Université Pontificale Catholique de Rio de Janeiro au Brésil. Lua est un logiciel libre utilisé dans de nombreux produits et projets dans le monde entier.
Le site web officiel de Lua fournit des informations complètes sur Lua, y compris un résumé exécutif et une documentation mise à jour, notamment le , qui peut différer légèrement de la distribuée dans ce paquet.
Lua est distribué sous forme de source. Vous devez le construire avant de l'utiliser. La construction de Lua devrait être simple car Lua est implémenté en pur ANSI C et se compile sans modification sur toutes les plateformes connues qui disposent d'un compilateur ANSI C. Lua se compile également sans modification en C++. Les instructions ci-dessous pour la construction de Lua sont pour les systèmes de type Unix. Voir aussi instructions pour d'autres systèmes et options de personnalisation.
Si vous n'avez pas le temps ou l'envie de compiler Lua vous-même, obtenez un binaire depuis LuaBinaries. Essayez aussi LuaDist, une distribution multi-plateforme de Lua qui inclut des batteries.
Sur la plupart des systèmes de type Unix, faites simplement "make" avec une cible appropriée. Voici les détails.
aix bsd c89 freebsd generic linux macosx mingw posix solaris
Si votre plateforme est listée, faites simplement "make xxx", où xxx est le nom de votre plateforme.
Si votre plateforme n'est pas listée, essayez la plus proche ou posix, generic, c89, dans cet ordre.
Si vous utilisez Linux et obtenez des erreurs de compilation, assurez-vous d'avoir installé le paquet de développement readline (qui s'appelle probablement libreadline-dev ou readline-devel). Si vous obtenez des erreurs de liaison après cela, alors essayez "make linux MYLIBS=-ltermcap".
Une fois que vous avez construit Lua, vous pouvez vouloir l'installer dans un endroit officiel de votre système. Dans ce cas, faites "make install". L'endroit officiel et la manière d'installer les fichiers sont définis dans le Makefile. Vous aurez probablement besoin des droits appropriés pour installer les fichiers.
Pour construire et installer Lua en une seule étape, faites "make xxx install", où xxx est le nom de votre plateforme.
Pour installer Lua localement, faites "make local". Cela créera un répertoire install avec les sous-répertoires bin, include, lib, man, share, et installera Lua comme indiqué ci-dessous.
Pour installer Lua localement, mais dans un autre répertoire, faites "make install INSTALL_TOP=xxx", où xxx est votre répertoire choisi. L'installation commence dans les répertoires src et doc, alors faites attention si INSTALL_TOP n'est pas un chemin absolu.
Ce sont les seuls répertoires dont vous avez besoin pour le développement. Si vous voulez seulement exécuter des programmes Lua, vous n'avez besoin que des fichiers dans bin et man. Les fichiers dans include et lib sont nécessaires pour embarquer Lua dans des programmes C ou C++.
Trois types de choses peuvent être personnalisées en éditant un fichier :
Vous n'avez pas vraiment besoin d'éditer les Makefiles car vous pouvez définir les variables pertinentes en ligne de commande lors de l'appel de make. Néanmoins, il est probablement préférable d'éditer et de sauvegarder les Makefiles pour enregistrer les modifications que vous avez apportées.
D'un autre côté, si vous devez personnaliser certaines fonctionnalités de Lua, vous devrez éditer src/luaconf.h avant de construire et installer Lua. Le fichier édité sera celui installé, et il sera utilisé par tous les clients Lua que vous construirez, pour assurer la cohérence. Une personnalisation supplémentaire est disponible pour les experts en éditant les sources de Lua.
Si vous n'utilisez pas les outils Unix habituels, alors les instructions pour construire Lua dépendent du compilateur que vous utilisez. Vous devrez créer des projets (ou ce que votre compilateur utilise) pour construire la bibliothèque, l'interpréteur et le compilateur, comme suit :
Pour utiliser Lua comme bibliothèque dans vos propres programmes, vous devrez savoir comment créer et utiliser des bibliothèques avec votre compilateur. De plus, pour charger dynamiquement des bibliothèques C pour Lua, vous devrez savoir comment créer des bibliothèques dynamiques et vous devrez vous assurer que les fonctions de l'API Lua sont accessibles à ces bibliothèques dynamiques — mais ne liez pas la bibliothèque Lua dans chaque bibliothèque dynamique. Pour Unix, nous recommandons que la bibliothèque Lua soit liée statiquement dans le programme hôte et que ses symboles soient exportés pour la liaison dynamique ; src/Makefile fait cela pour l'interpréteur Lua. Pour Windows, nous recommandons que la bibliothèque Lua soit une DLL. Dans tous les cas, le compilateur luac doit être lié statiquement.
Comme mentionné ci-dessus, vous pouvez éditer src/luaconf.h pour personnaliser certaines fonctionnalités avant de construire Lua.
Voici les principaux changements introduits dans Lua 5.3. Le manuel de référence liste les incompatibilités qui ont dû être introduites.
Voici les autres changements introduits dans Lua 5.3 :
ipairs et la bibliothèque table respectent les métaméthodes
string.dump
table.move
string.pack
string.unpack
string.packsize
lua_gettable et fonctions similaires retournent le type de la valeur résultante
lua_dump
lua_geti
lua_seti
lua_isyieldable
lua_numbertointeger
lua_rotate
lua_stringtonumber
arg disponible pour tout le code
Lua est un logiciel libre distribué sous les termes de la
licence MIT
reproduite ci-dessous ;
il peut être utilisé à n'importe quelle fin, y compris commerciale,
sans aucun coût et sans avoir à nous demander.
La seule exigence est que si vous utilisez Lua, alors vous devez nous créditer en incluant un avis de droit d'auteur approprié quelque part dans votre produit ou sa documentation.
Pour plus de détails, voir ceci.
Copyright © 1994–2017 Lua.org, PUC-Rio.Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Dernière mise à jour : Mon Jun 18 22:57:33 -03 2018