Comment obtenir un élément aléatoire dans le tableau Perl

De la tâche. Dans un programme en langage de programmation Perl un tableau avec les valeurs. Vous devez obtenir un élément de ce tableau.

La solution de cette tâche en Perl est très beau et élégant. Utilise la fonction rand() pour plus aléatoire index de l'élément.

Voici un exemple de code. Il ya un tableau dans lequel se trouve ce tableau avec les couleurs. Le code affiche une couleur aléatoire à partir de ce tableau.

▶ Run
#!/usr/bin/perl

my @colors = ('red', 'green', 'blue', 'magenta', 'white');

my $color = $colors[ rand @colors ];

print $color;

Comment cela fonctionne. Il ya un tableau de @colors. Il 5éléments. Pour s'adresser au premier élément de besoin d'écrire $colors[0], à la dernière — $colors[4].

Dans cet exemple, rand @colors c'est rand(5). Cette l'utilisation d'un tableau retourne le nombre d'éléments dans le tableau. (scalaire contexte).

rand @colors renvoie le nombre de 0 (inclus) jusqu'à un nombre 5 (mais pas y compris ce nombre). Par exemple, le résultat de cette opération peut être un nombre 3.70744988833152.

Et la dernière étape. Le résultat rand @colors est utilisé comme un indice d'un tableau. C'est-à-dire obtenir quelque chose comme $colors[ 3.70744988833152 ]. Cette enregistrement renvoie exactement le même élément de la matrice et l'enregistrement $colors[3], c'est-à-dire le quatrième élément de la chaîne 'magenta'.

Thèmes connexes

Autres articles