Types, valeurs et expressions en Lua

Table des matières
Lua C'est un langage dynamique en ce qui concerne les types de données et leurs valeurs, c'est-à-dire qu'il n'y a aucune définition d'aucun type lors de la création d'une variable et en spécifiant qu'il s'agit d'une chaîne, d'un nombre ou même d'un booléen.
Les expressions vont de pair avec les valeurs, celles-ci nous permettent d'effectuer des opérations avec elles, qui peuvent aller d'opérations arithmétiques, relationnelles et même conditionnelles pour donner du dynamisme à nos programmes, mais avant de passer aux expressions voyons les types de valeurs qui nous possédons dans Lua et comment ils fonctionnent dans le langage.
Dans Lua Chaque valeur charge son propre type, dans lequel on peut en trouver huit types différents : nil, booléen, nombre, chaîne, données utilisateur, fonction, thread et table, où avec la fonction taper () nous pouvons connaître le nom de type de la valeur donnée. Voyons un exemple simple de la façon dont Lua interpréter cela selon taper ():

Comme nous voyons que le type est donné par la valeur qu'il charge et que la fonction désignée nous aide à savoir ce que c'est, nous pouvons voir que même dans le dernier cas de la variable H le résultat est une chaîne et c'est parce que la fonction taper () est toujours une chaîne. Depuis que nous avons vu comment Lua interpréter les types de données, regardons chacun d'eux en détail :
NéantIl s'agit d'un type de valeur dont la propriété principale est d'être différent des autres valeurs. Comme nous l'avons vu dans le dernier tutoriel, une variable globale a la valeur par défaut néant et si on veut l'éliminer, on attribue cette valeur, on peut même l'utiliser pour représenter l'absence d'une valeur utile.
booléenLes valeurs booléennes, comme dans le reste des langages de programmation, ont deux valeurs, true et false, mais contrairement à d'autres langages, ce type de données n'a pas de domaine total sur les conditions puisque tout peut représenter une condition.
Le numéroCe type de données représente à la fois des nombres entiers et des nombres décimaux. Lua n'a pas de type valeur entière et n'en a pas besoin, car Lua il peut représenter n'importe quel entier 32 bits sans problèmes d'arrondi, mais le plus intéressant à propos du langage est que nous pouvons le compiler pour utiliser un autre type, comme des entiers longs ou des flottants, ce qui est très utile pour les cas où le matériel n'a pas prise en charge des décimales.
Chaîne de caractèresLes cordes en Lua Ce sont une séquence de caractères, ce sont des valeurs immuables, c'est-à-dire qu'on ne peut pas changer un caractère dans la chaîne. Ils sont gérés par la mémoire automatique du langage comme le reste des objets et l'affectation de la chaîne peut se faire avec des guillemets simples ou doubles.
TableauLe type de données table implémente un tableau associatif, qui est un tableau qui peut être indexé non seulement avec des nombres mais avec des chaînes ou toute autre valeur de langage, à l'exception de nil. Les tableaux n'ont pas de taille fixe, nous pouvons donc inclure autant d'éléments que nous le souhaitons et avec eux, nous pouvons représenter des modules, des packages et des objets. Enfin, sa création est aussi simple que d'utiliser les crochets {} à l'initialisation de la table.
CaractéristiquesLes fonctions en Lua ils ont un comportement assez particulier, on peut les enregistrer dans des variables, les passer en arguments à d'autres fonctions et les retourner même en résultats, où Lua vous pouvez appeler ces fonctions écrites à la fois dans le langage lui-même et en C.
Données d'utilisateurLe type de données données d'utilisateur permet de stocker dans des variables de Lua des informations arbitraires de C. Il n'a pas d'opérations prédéfinies sur Lua, à l'exception des tests d'affectation et d'égalité, où la fonction principale de ce type est de représenter de nouveaux types en tant que tels créés par une application ou une bibliothèque écrite en C.
Comme on peut le voir, les types ne diffèrent pas beaucoup de ce que l'on peut trouver dans les langages actuels, mais ce qui est sûr c'est que la simplicité qu'on a pour les représenter est bien plus grande, alors voyons le rôle des expressions et comment on peut les utiliser avec nos valeurs.
Les opérations arithmétiques sont extrêmement importantes pour tout programme et il est important de savoir comment les gérer et quelles restrictions peuvent exister dans le langage que nous utilisons. Lua il prend en charge les opérateurs conventionnels auxquels nous sommes habitués : addition, soustraction, multiplication, division, exponentiel, pourcentage et négation.
Voyons alors un code simple où nous démontrons l'utilisation de certains opérateurs de Lua:
 x = 8 + 5 y = 9 - 2 impression (x * y% 0,01)
Nous utilisons l'addition, la soustraction et la division par 2 sur le résultat d'une opération de multiplication, voyons comment la réponse de l'interpréteur lorsque nous exécutons notre code via la console :

AGRANDIR

Comme on peut le voir, Lua ne diffère pas beaucoup du reste des langages pour les opérations arithmétiques, mais sa simplicité pour écrire du code le rend assez facile à manipuler pour le développement de programmes.
Lua comme d'autres langages, il nous donne des opérateurs relationnels tels que supérieur à>, inférieur à <, inférieur ou égal =, égal-égal == et négation ~ =. Nous voyons que le seul qui diffère peut-être est le déni, mais une fois que nous nous y habituerons, il n'y aura aucun problème avec son utilisation.
Tous ces opérateurs peuvent retourner vrai ou faux, où nous pouvons même appliquer à la fois l'opérateur d'égalité et l'opérateur de négation à deux valeurs. Ces comparaisons Lua il les fait en fonction du type en plus d'autres facteurs, voyons dans le code suivant où la comparaison est faite sur la base du même objet :
 a = {}; a.x = 1 ; a.y = 0 b = {} ; b.x = 1 ; b.y = 0 c = a
Là où si on compare les mêmes, le résultat de l'opération nous donne que a est égal à c mais que a est différent de b, cela est dû au fait qu'ils sont le même objet. De plus, nous devons être très prudents lorsque nous comparons différents types, car par exemple 6 est différent de "6" et si nous faisons quelque chose comme "3" <"8" Lua cela donnera une erreur puisque nous mélangeons les chaînes.
Les opérateurs logiques de Lua ce sont les et, ou et non. Lorsqu'une comparaison est faite à l'aide de ces opérateurs, le premier argument sera retourné s'il est faux, sinon le second sera retourné.Voyons une série d'exemples dans la console interactive pour démontrer ce qui précède.

AGRANDIR

Pour effectuer la concaténation dans Lua c'est par les deux points, ça change un peu la syntaxe par rapport aux autres langages mais de la même façon c'est assez simple, mais Lua Il va toujours un peu plus loin et s'il trouve un nombre et qu'il y a une opération de concaténation, il le convertit en chaîne, voyons deux exemples simples de cette opération :

AGRANDIR

Comme on le voit pour le premier cas l'opération se fait sans aucun problème, et pour le second cas on a des chiffres, Lua les convertit automatiquement en chaîne. Il est important de se rappeler que les chaînes sont immuables, donc cette opération crée toujours une nouvelle chaîne sans apporter de modifications à son opérande.
Enfin, nous avons les constructeurs, qui sont des expressions qui nous permettent de créer et d'initialiser des tables, cette fonctionnalité est propre à Lua et c'est l'un de ses mécanismes les plus polyvalents et les plus puissants. Nous pouvons utiliser un constructeur vide sans aucun problème avec juste les crochets {} ce qui créera une table vide en tant que telle. Ceux-ci peuvent également initialiser des tableaux ou des listes, voyons un exemple :
 jours = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"}
Ici nous créons une liste avec les jours de la semaine et si nous voulons accéder à ses éléments en spécifiant l'index de la même que nous avons, par exemple pour obtenir jeudi ce serait l'index numéro 5 ou dimanche ce serait le numéro 1, puisque Lua Il ne s'initialise pas à zéro comme le reste des langages, voyons à quoi il ressemble quand on le lance dans notre console :

Nous pouvons également créer nos propres tableaux associatifs de type clé-valeur :
tableau = {x = 26, y = 67}
Mais il est important que pour accéder à ses valeurs on fasse la référence à l'index avec des guillemets doubles, on obtiendra la valeur nil, on voit notre fonctionnement dans la console interactive :

Avec cela, nous terminons le tutoriel, où nous avons pu voir que Lua étend sa simplicité à tous les bords qui le composent, depuis les types dynamiques qu'il gère, la manière simple de faire des affectations, la gestion des opérateurs relationnels et logiques, en plus de nous fournir des outils extrêmement utiles tels que des concaténations et des constructeurs pour faire notre expérience avec la langue aussi agréable et agréable que possible.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave