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: VECNotez 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 ()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 ()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 ()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 ()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 ()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 ()É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 ()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 ()Le code ci-dessus doit renvoyer la sortie comme suit:
Index: 0, valeur: 1Ajouter 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 ()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 ()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 ()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!