Op�rateurs - R�f�rence du Langage

AutoIt utilise les op�rateurs d'affectation, math�matiques, de comparaison, et les op�rateurs logiques suivants.


Op�rateur Description

      Op�rateurs d'affectation
=
Affectation, exemple: $vVar = 5     (affecte le nombre 5 � $vVar)
+=
Affectation avec addition. Exemple: $vVar += 1     (ajoute 1 � $vVar)
-=
Affectation avec soustraction.
*=
Affectation avec multiplication.
/=
Affectation avec division.

      Op�rateur de concat�nation
& Concat�ne/joint deux cha�nes. Exemple: "un" & 10    (equals "un10")
&=
Affectation avec concat�nation; Exemple: $vVar = "un", et puis $vVar &= 10    ($vVar est maintenant �gal � "un10")

      Op�rateurs math�matiques
+ Additionne deux nombres. Exemple: 10 + 20    (�gale 30)
- Soustrait deux nombres. Exemple: 20 - 10    (�gale 10)
Agit aussi comme un op�rateur unaire (pour affecter une valeur n�gative � une variable).
* Multiplie deux nombres. Exemple: 20 * 10    (�gale 200)
/ Divise deux nombres. Exemple: 20 / 10    (�gale 2)
^ El�ve un nombre � une puissance. Exemple: 2 ^ 4    (�gale 16)

      Op�rateurs de comparaison (insensible � la casse si utilis�s avec des cha�nes except� pour ==)
= Teste si deux valeurs sont �gales. Exemple: If $var = 5 Then    (vrai si $vVar �gale 5). Insensible � la casse quand utilis� avec des cha�nes.
== Teste si deux cha�nes sont �gales. Sensible � la casse. Les valeurs gauche et droite sont converties en cha�nes si elles ne sont pas d�j� des cha�nes. Cet op�rateur devrait �tre utilis� seulement si la comparaison des cha�nes n�cessite une sensibilit� � la casse.
<> Teste si deux valeurs sont diff�rentes. Insensible � la casse quand utilis� avec des cha�nes. Pour que la comparaison soit sensible � la casse utilisez Not ("string1" == "string2")
> Teste si la premi�re valeur est plus grande que la seconde. Les cha�nes sont compar�es dans l'ordre lexicographique m�me si le contenu de la cha�ne semble �tre num�rique.
>= Teste si la premi�re valeur est plus grande ou �gale que la seconde. Les cha�nes sont compar�es dans l'ordre lexicographique m�me si le contenu de la cha�ne semble �tre num�rique.
< Teste si la premi�re valeur est plus petite que la seconde. Les cha�nes sont compar�es dans l'ordre lexicographique m�me si le contenu de la cha�ne semble �tre num�rique.
<= Teste si la premi�re valeur est plus petite ou �gale que la seconde. Les cha�nes sont compar�es dans l'ordre lexicographique m�me si le contenu de la cha�ne semble �tre num�rique.

      Op�rateurs logiques
And Conjonction logique. Exemple: If $vVar = 5 And $vVar2 > 6 Then    (Vrai si $vVar �gale 5 et $vVar2 est plus grand (strictement) que 6)
Or Disjonction logique. Exemple: If $vVar = 5 Or $vVar2 > 6 Then    (Vrai si $vVar �gale 5 ou $vVar2 est plus grand (strictement) que 6)
Not N�gation logique. Exemple: Not 1    (False)

      Conditional operator
? : Choix suivant une expression. Exemple: $condition ? $expression1 : $expression2    ($expression1 si $condition est vraie ou $expression2 si fausse) Voir l'op�rateur Ternary pour un exemple.

Lorsque plus d'un op�rateur logique est utilis� dans une expression, l'ordre dans lequel les choses se passe est control� par la Priorit� des op�rateurs. La priorit� utilis�e dans AutoIt est donn�e ci-dessous. L� o� deux op�rateurs ont la m�me priorit� l'expression est �valu�e de la Gauche vers la Droite.

De la priorit� la plus haute � la plus basse :

    Not
    ^
    * /
    + -
    &
    < > <= >= = <> ==

    And Or



Exempe: 2 + 4 * 10 est �gal � 42:

    4 * 10    (�gale 40)

    2 + 40    (�gale 42)

Comme la multiplication * a une priorit� plus haute que + elle est effectu�e avant l'addition.


Vous pouvez utiliser des parenth�ses pour obliger une partie de l'expression � �tre �valu�e en premier.

Exemple: (2 + 4) * 10 �gale 60.


Notez ceci, lorsque vous utilisez les op�rateurs logique AND, OR:

Exemple: If MyFunc1() Or MyFunc2() Then     (MyFunc2() n'est pas appel�e si MyFunc1() retourne vrai)

e.g. If MyFunc1() And MyFunc2() Then    (MyFunc2() n'est pas appel�e si MyFunc1() retourne faux)


Note: Prudence s'impose si vous comparez des types de donn�es mixtes, comme lorsque vous utilisez l'op�rateur de cha�ne == sensible � la casse, les comparaisons mixtes sont g�n�ralement effectu�es num�riquement. La plupart des cha�nes seront �valu�es comme 0 et donc le r�sultat pourrait bien ne pas �tre celui attendu. Il est recommand� de forcer les �l�ments compar�s dans le m�me type de donn�es en utilisant les fonctions Number/String avant la comparaison.