Les opérateurs.
Voici quelques opérateurs : 
Là encore, je souhaite vous présenter l'essentiel. Aucune liste ici ne sera exhaustive. Par contre, vous aurez une bonne vision globale des opérateurs. 
Vous n'avez pas besoin de comprendre absolument tous les opérateurs disponibles. Focalisez-vous vers l'essentiel ! 
Il existe plusieurs types d'opérateurs. Survolez la liste : 
Pour commencer, il est important de savoir calculer. Et ça se fait avec les opérateurs arithmétiques. Observez le code suivant ! 
' Gambas module file
Public Sub Main()
 Dim fResult As Float
 Dim fLeft As Float = 2.0
 Dim fRight As Float = 3.0
 Dim fMulti As Float = 4.0
 fResult = fLeft + fRight * fMulti
 Print fResult
End
Parmi les opérateurs, le codice_1 et le codice_5 s'utilisent intuitivement. Pour multiplier, c'est codice_6 et non X ! Pour diviser, c'est codice_2 ! 
Il a une autre chose à assimiler. Il y a un ordre d'évaluation des opérateurs. Cette notion est présente dans tous les langages de programmation : la multiplication et la division se feront avant l'addition et la soustraction. 
Pour modifier l'ordre du calcul, vous devrez expliciter. Ceci se fait en plaçant des parenthèses comme ceci : 
 fResult = (fLeft + fRight) * fMulti
En ce qui concerne les comparaisons, vous avez déjà vu dans les wikipages traitant des structures de contrôle qu'une expression renvoie une valeur booléenne. 
Ci-dessous, l'expression est codice_8 et elle renvoie True : 
' Gambas module file
Public Sub Main()
 Dim bResult As Boolean
 bResult = 6 = (3 + 3)
 Print bResult
End
Observez l'opérateur codice_3 dans l'expression ci-dessous ! 
 bResult = True ' résultat de l'évaluation
Ci-dessus, l'opérateur codice_3 est un opérateur d'affectation car on affecte la valeur VRAI à la variable bResult. 
L'opérateur = qui est ci-dessous sur la droite est un opérateur de comparaison : 
 bResult = 6 = (3 + 3)
Parmi les opérateurs de comparaison, il y a codice_11 pour "plus petit que" et codice_12 pour plus grand que. 
Vous connaissez déjà l'opérateur de concaténation de chaîne de caractères codice_13. 
Plus vous irez de l'avant, plus vous en verrez. Ils n'ont rien de compliqué. Il suffit de chercher dans le wiki officiel en cas de doute.

Gambas 3/Gambas3LeLangage/Les collections

Les collections.
Jusqu'à maintenant, nous avions utilisé des types simples : des valeurs ayant un type. 
Petite révolution : nous allons commencer à utiliser des objets ! 
Une collection est un objet et pour pouvoir utiliser un objet, il faut qu'il existe. Il faut donc créer une nouvelle instance de collection avec le mot codice_1. 
Sans cela, l'objet n'existe pas et rien ne fonctionne ! 
Revenons à notre sujet : 
Une collection et un conteneur, une liste d'éléments.
Chaque élément a une clé de type String et une valeur de type Variant. Le type Variant est un type qui peut contenir n'importe quel autre type. En gros, vous mettez la valeur que vous voulez ! 
Le code ci-dessous est une démonstration d'utilisation d'une liste générique. 
' Gambas module file
Public Sub Main()
 Dim colItem As Variant
 Dim colItems As Collection
 colItems = New Collection
 ' syntax
 colItems.Add("some text", CStr(colItems.Count))
 colItems.Add(True, CStr(colItems.Count))
 colItems.Add(18, CStr(colItems.Count))
 colItems.Add(200.45, CStr(colItems.Count))
 colItems.Add(Now, "custom")
 colItems.Remove("0")
 For Each colItem In colItems
 Print colItems.Key
 Print colItem
 Next
 Print colItems.Count
 colItems.Clear()
 Print colItems.Count
 colItems = Null
End
Il y a plus d'informations sur le wiki officiel ici et ici si nécessaire. 
En particulier, la syntaxe pour saisir une collection en ligne améliore le code (voir ci-dessous) et les 
performances : 
 Dim colItems As Collection
 ' inline syntax:
 colItems = [
 "0": "some text",
 "1": True,
 "2": 18,
 "3": 200.45,
 "custom": Now
Au début de votre apprentissage, je vous conseille d'utiliser uniquement les collections. Si vous en ressentez le besoin, vous pouvez aussi utiliser les tableaux dynamiques. 
Les tableaux dynamiques.
Lorsque tous les objets stockés ont le même type et si vous n'avez pas besoin de clé pour identifier un élément, vous pouvez utiliser un tableau dynamique. 
Le fonctionnement est légèrement différent car il n'y a pas de clé de type String mais il y a un index typé Integer. La tableau évoluant dynamiquement, un élément ne conservera PAS son index initial. 
Vous pouvez consulter les informations sur le wiki officiel ici, ici et ici si nécessaire. 
Autres structures de données.
Il existe d'autres structures de données. En cas de besoin, je vous invite à regarder la documentation du module gb.data. En guise d'exemple, les piles ou queues, le Radix tree, le Heap, l'AVL tree ont été portés sur Gambas. 
Il faudra créer une collection personnalisée si votre programme nécessite des tris sur votre collection, des fonctions de recherche, etc.