Vecteurs de rouille

Vecteurs de rouille
Un vecteur est simplement un tableau re-sizable. Ils sont comme des tranches dans le sens où leur taille est inconnue à l'heure du compilateur. Cependant, ils peuvent grandir ou rétrécir à n'importe quelle taille déterminable.

Bienvenue à vos camarades rouillés dans cet article. Pour celui-ci, nous discuterons de la façon de travailler avec des vecteurs dans le langage de programmation Rust.

Rust Créer un nouveau vecteur

Il existe deux méthodes principales pour créer un vecteur de rouille.

La première consiste à créer une nouvelle instance de la structure vectorielle en utilisant la méthode new (). La syntaxe est comme indiqué ci-dessous:

Laissez VEC_NAME: VEC = Vec :: new ();

Notez que nous spécifions le type de vecteur à l'intérieur d'une paire de supports d'angle.

Un exemple de vecteur est illustré ci-dessous:

fn main ()
Laissez Vect: vec = Vec :: new ();

Les exemples ci-dessus créent un nouveau vecteur vide d'entiers signés 32 bits.

La deuxième méthode pour créer un vecteur consiste à utiliser le VEC! Macro. Il s'agit d'une macro intégrée qui vous permet de déclarer et d'initialiser un nouveau vecteur.

La syntaxe est comme indiqué ci-dessous:

Laissez Vec_name = Vec![vector_values];

Dans ce format, nous n'avons pas besoin d'annoter le type de vecteur. Le compilateur déduire le type en fonction des valeurs stockées dans le vecteur.

Un exemple est comme indiqué:

fn main ()
Soit Vec = Vec![1,2,3,4,5];

Accéder aux valeurs vectorielles

Nous pouvons accéder aux valeurs d'un vecteur en utilisant deux méthodes.

La première consiste à utiliser la notation d'index. Pour utiliser la notation d'index, nous commençons par le nom du vecteur et l'index de la valeur à laquelle nous souhaitons accéder à l'intérieur des crochets.

NOTE: L'indexation vectorielle commence à l'index 0. Par conséquent, la première valeur du vecteur est à l'index 0.

Un exemple est comme indiqué:

fn main ()
Soit Vec = Vec![1,2,3,4,5];
println!("", vec [0]);

Le code ci-dessus doit renvoyer l'élément à l'index 0. Dans ce cas, il devrait retourner 1.

Bien que l'accès aux éléments vectoriels par l'index convient aux petites cas d'utilisation, il pose un problème si nous accédons à un index hors lien.

Prenez l'exemple de vecteur ci-dessous:

Soit Vec = Vec![1,2,3,4,5];

Le dernier élément est à l'index 4. Si nous essayons d'accéder à un index supérieur à 4, le programme paniquera et sortira. Un exemple est comme indiqué:

fn main ()
Soit Vec = Vec![1,2,3,4,5];
println!("", vec [5]);

Le code ci-dessus renvoie une erreur comme:

Nous pouvons surmonter cela en utilisant la méthode get (). Cette méthode prend l'index que nous voulons accéder et renvoie la valeur associée.

fn main ()
Soit Vec = Vec![1,2,3,4,5];
println!(":? ", vec.get (0));

Dans l'exemple ci-dessus, la fonction renvoie une valeur en utilisant l'option enum. Vérifiez la documentation ENUM pour en savoir plus.

Contrairement à la notation du support carré, cette fonction ne renvoie aucune si l'index n'est pas trouvé au lieu de paniquer.

fn main ()
Soit Vec = Vec![1,2,3,4,5];
println!(":? ", vec.obtenir (5));

Étant donné que l'index du tableau n'existe pas, la fonction ne renvoie aucune comme indiqué ci-dessous:

Itération sur un vecteur

Nous pouvons facilement itérer sur l'index et les éléments d'un vecteur en utilisant la méthode ITER. Un exemple est comme indiqué ci-dessous:

fn main ()
Soit Vec = Vec![1,2,3,4,5];
// println!(":? ", vec.obtenir (5));
pour je dans Vec.iter ()
println!("", je);

Nous pouvons également énumérer le vecteur en utilisant la méthode d'énumération. Cela renvoie l'index et la valeur comme ci-dessous:

fn main ()
Soit Vec = Vec![1,2,3,4,5];
pour (index, valeur) dans VEC.iter ().énumérer ()
println!("Index: , valeur: ", index, valeur);

Le code ci-dessus doit renvoyer la sortie comme suit:

Index: 0, valeur: 1
Index: 1, valeur: 2
Index: 2, valeur: 3
Index: 3, valeur: 4
Index: 4, valeur: 5

Ajouter et supprimer les éléments vectoriels

Rust nous permet d'ajouter ou de supprimer les articles d'un vecteur en utilisant les méthodes push et pop. Cela ajoute et supprime un élément spécifié vers et depuis la pile vectorielle, respectivement.

L'exemple ci-dessous montre comment ajouter un élément à un vecteur.

fn main ()
Laissez mut vec = vec![1,2,3,4,5];
vec.push (6);
println!(":? ", vec);

Cela imprime un vecteur comme:

[1, 2, 3, 4, 5, 6]

Pour supprimer un élément de la pile vectorielle, utilisez la méthode POP comme indiqué:

fn main ()
Laissez mut vec = vec![1,2,3,4,5];
vec.populaire();
println!(":? ", vec);

Cela devrait supprimer la valeur spécifiée du vecteur et retourner:

[1, 2, 3, 4]

NOTE: Le vecteur doit être mutable pour les opérations de poussée ou de pop.

Trouver de la valeur dans le vecteur

Vous pouvez trouver si un vecteur contient une valeur en utilisant la méthode CONTAINS (). Un exemple est comme indiqué:

fn main ()
Laissez mut vec = vec![1,2,3,4,5];
Si Vec.contient (& 5)
println!("trouvé!")
autre
println!("pas trouvé!");

La méthode contient () vérifie si une valeur est dans le vecteur et renvoie une valeur booléenne.

De clôture

Cet article décrit les vecteurs, comment créer et effectuer diverses opérations sur eux. Vous pouvez vérifier la documentation de la rouille pour en savoir plus.

Merci d'avoir lu!