Forum du serveur Computercraft FR
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -20%
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, ...
Voir le deal
399 €

[Class] number

Aller en bas

[Class] number Empty [Class] number

Message par Shiranuit Sam 8 Avr - 16:23

Bonjour/Bonsoir,

aujourd'hui je vous propose un petit programme qui se rapproche d'une API mais qui est en fait une Classe en lua,
elle a pour but de simplifier/compacter votre code au niveau de certains calculs basiques
notament dans le cas ou vos nom de variables sont très longs ou que vous avez beaucoup de tableau imbriquez les un dans les autres.

Exemples sans la classe :
Code:

--Vous cherchez a incrementez une variable, ou autre
vousavezunnomdevariableunpeulong  = 1
vousavezunnomdevariableunpeulong = vousavezunnomdevariableunpeulong + 1
vousavezunnomdevariableunpeulong = vousavezunnomdevariableunpeulong ^ 3
print(vousavezunnomdevariableunpeulong) -- affiche : 8

comme vous le voyez ça prend de la place, maintenant en utilisant la classe, il vous suffit de déclarer votre nombre dans la classe comme ci dessous
Code:

vousavezunnomdevariableunpeulong = num(1) -- déclaration de la variable pour valeur 1 avec la classe
vousavezunnomdevariableunpeulong()+1
vousavezunnomdevariableunpeulong()^3
print(vousavezunnomdevariableunpeulong) -- affiche : 8
Vous pouvez écrire vos incrementation de cette façon pour reduire la taille du code
marche avec les opérateurs :
+,-,*,/,^,% et unm

cette classe est faite pour se rapprocher au plus des opérateurs +=, -=, *=, /=, ^=, %=
que vous pouvez avoir dans certains languages de programmations tels que java, c#, c++, vb etc ...

Notez également que les variables agissent comme des nombres, vous pouvez toujours écrire des opérations comme ceci
Code:

vousavezunnomdevariableunpeulong = num(3)
x = vousavezunnomdevariableunpeulong^2 + 5
print(x) -- affiche : 14

/!\ Important /!\ Pour les opérateurs de test tel que ==, >= <= ~=, <, > ou encore les fonctions de l'API math vos variables ne seront pas considérer comme des nombres, pour contrer le probléme veuillez écrire les choses comme ceci
Code:
r = num(3)
--Mauvaise façon
if r > 3 then -- Vous aurez une érreur ici
-- Bonne façon
if r:num() > 3 then -- Ici la condition est valide

-- pareil pour les fonctions math
math.sqrt(r) -- Erreur
math.sqrt(r:num()) -- Valide

pour que la classe soit fonctionnelle il vous suffit de là télécharger sur pastebin ici : https://pastebin.com/0Yd7nTXL
en faisant : pastebin get 0Yd7nTXL Number
et ajouté cette ligne de code dans vos programmes : dofile("Number") ou en là chargeant comme une API avec os.loadAPI("Number")
Shiranuit
Shiranuit

Messages : 164
Date d'inscription : 02/04/2016

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum