Aller au contenu

Messages recommandés

Posté(e)

Je connais pas le c malheureusement

Mais tu as tostring et tonumber le problème ce passe lorsque tu passes par les vg du panneau ou lorsque tu récupère une valeur d'un module

Envoyé de mon SM-G900F

Posté(e)

Et oui c'est ça les nouveaux langages...

En C on doit déclarer le type de variable (numérique, chaine de caractères etc) comme ça si l'on essai de comparer 2 var de type différent on à  une erreur de générée.

Tonumber et Tostring ne sont que des convertisseurs d'un type vers un autre, on ne devrait pas en avoir besoin si dans la déclaration on spécifié le type. 

exemple

 

En langage C les principaux types de variables sont les suivants :

 

Booléen : 

Ensemble de définition : {FAUX , VRAI}

Déclaration algorithmique : a , b : booléen

Déclaration C : bool a ,b ;

Entier : 

Ensemble de définition : 9

Déclaration algorithmique : i , j : entier

Déclaration C :  int i , j ; 

Flottant : 

Ensemble de définition : IF

Déclaration algorithmique : x,y : flottant

Déclaration C : float x , y ; ou double x , y ; 

Caractère : 

Ensemble de définition : La table ASCII

Déclaration algorithmique : c, g : caractère

Déclaration C : char c , g ;

Posté(e)

Merci pour ton dernier lien très instructif, il a répondu à  mes questions, ce qui me permettra de faire plus attention aux types de var, et ne pas tomber dans des pièges comme ce dernier !

 

voilà  ce qui est très intéressant dans cette doc : Le Typage dynamique des variables en LUA

 

 
Typage dynamique des variables

Vous pourriez avoir noté que tandis que nous créions les variables ci-dessus, nous n'avons pas dà» indiquer quel type de variable nous créions. 

Par exemple,

a = 1
b = "hello"
c = { item1="abc" }

Dans d'autres langages, telles que C, nous devons indiquer le type d'une variable quand nous la créons. De même que nous n'avons pas besoins de spécifier quel type a une variable particulière on peut également assigner différents types de valeur à  la même variable, par exemple. 

a = 1
a = "hello"
a = { item1="abc" }

Ceci s'appelle typage dynamique. Ceci signifie que vous ne devez pas indiquer quel type a une variable. La variable connaît son type en fonction de la valeur ou de l'objet qui lui a été assigné.

 

 

 

 

Et voilà  comment obtenir le type d'une variable

 

 

 
Obtenir le type

Comme LUA est un language reflectif, nous pouvons utilisé la fonction type() pour obtenir le type d'une variable particulière.

> x = "123" -- une chaîne de caractères 
> print(x, type(x)) -- affiche la valeur de x et son type  
123 string 
> x = x + 7 -- ajoute un nombre à  la chaîne et force son typage (coercition) 
> print(x, type(x)) -- again show the value and type  
130 number

 

Posté(e)

Ce qui est bizarre, c'est que la déclaration de var du panneau de var global, n'affecte pas le type "number" àune variable déclarée avec un nombre. Elle est associée àun type "String" ?!?!

Posté(e)

Les variables dans le panneau sont àla sauce fibaro. A priori oui pour du string mais j'ai jamais trop fais attention car je mets toujours tonumber je stocks aussi des tables avec json encode et decode

Envoyé de mon SM-G900F

×
×
  • Créer...