Erlang - Variables

Dans Erlang, toutes les variables sont liées par l'instruction '='. Toutes les variables doivent commencer par le caractère majuscule. Dans d'autres langages de programmation, le signe «=» est utilisé pour l'affectation, mais pas dans le cas d'Erlang. Comme indiqué, les variables sont définies à l'aide de l'instruction «=».

Une chose clé à noter dans Erlang est que les variables sont immuables, ce qui signifie que pour que la valeur de la variable change, elle doit être détruite et recréée à nouveau.

Les variables de base suivantes d'Erlang sont expliquées dans le dernier chapitre -

  • Numbers- Ceci est utilisé pour représenter un entier ou un flottant. Un exemple est 10.

  • Boolean - Cela représente une valeur booléenne qui peut être vraie ou fausse.

  • Bit String- Une chaîne de bits est utilisée pour stocker une zone de mémoire non typée. Un exemple est << 40,50 >>.

  • Tuple- Un tuple est un type de données composé avec un nombre fixe de termes. Un exemple est {40,50}.

  • Map- Une carte est un type de données composé avec un nombre variable d'associations clé-valeur. Chaque association clé-valeur de la carte est appelée une paire d'associations. Un exemple est {type => personne, age => 25}.

  • List- Une liste est un type de données composé avec un nombre variable de termes. Un exemple est [40,40].

Déclarations de variables

La syntaxe générale de la définition d'une variable est la suivante -

Syntaxe

var-name = var-value

Où,

  • var-name - C'est le nom de la variable.

  • var-value - C'est la valeur liée à la variable.

Voici un exemple de déclaration de variable -

Exemple

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   Result = X + Y, 
   io:fwrite("~w",[Result]).

Dans l'exemple ci-dessus, nous avons 2 variables, l'une est X qui est liée à la valeur 40 et la suivante est Y qui est liée à la valeur de 50. Une autre variable appelée Result est liée à l'addition de X et Y.

La sortie du programme ci-dessus sera -

Production

90

Nommer les variables

Comme indiqué, les noms de variables doivent commencer par des majuscules. Prenons un exemple de variable déclarée en minuscules.

Exemple

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   result = X + Y, 
   io:fwrite("~w",[Result]).

Si vous essayez de compiler le programme ci-dessus, vous obtiendrez l'erreur de compilation suivante.

Production

helloworld.erl:8: variable 'Result' is unbound

Deuxièmement, toutes les variables ne peuvent être affectées qu'une seule fois. Prenons un exemple d'affectation d'une variable plus d'une fois.

Exemple

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   X = 60, 
   io:fwrite("~w",[X]).

Si vous essayez de compiler le programme ci-dessus, vous recevrez l'erreur de compilation suivante.

Production

helloworld.erl:6: Warning: variable 'Y' is unused
helloworld.erl:7: Warning: no clause will ever match
helloworld.erl:7: Warning: the guard for this clause evaluates to 'false'

Variables d'impression

Dans cette section, nous verrons comment utiliser les différentes fonctions d'impression des variables.

Utilisation de la fonction io: fwrite

Vous auriez vu ceci (io: fwrite) utilisé dans tous les programmes ci-dessus. lefwrite La fonction fait partie du module 'io' ou Erlang, qui peut être utilisé pour sortir la valeur des variables dans le programme.

L'exemple suivant montre quelques paramètres supplémentaires qui peuvent être utilisés avec l'instruction fwrite.

Exemple

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40.00, 
   Y = 50.00, 
   io:fwrite("~f~n",[X]), 
   io:fwrite("~e",[Y]).

La sortie du programme ci-dessus sera -

Production

40.000000
5.00000e+1

Les pointeurs suivants doivent être notés sur le programme ci-dessus.

  • ~ - Ce caractère symbolise qu'un certain formatage doit être effectué pour la sortie.

  • ~f- L'argument est un flottant qui s'écrit [-] ddd.ddd, où la précision est le nombre de chiffres après la virgule décimale. La précision par défaut est 6 et ne peut pas être inférieure à 1.

  • ~n - C'est pour println à une nouvelle ligne.

  • ~e- L'argument est un flottant qui s'écrit [-] d.ddde + -ddd, où la précision est le nombre de chiffres écrits. La précision par défaut est 6 et ne peut pas être inférieure à 2.