Hvordan til at få et tilfældigt element fra et array i Perl

Opgave. I program i programmeringssproget Perl er et array med værdier. Du er nødt til at få et tilfældigt element fra denne serie.

Løsningen på dette problem i Perl ser meget smuk og elegant. Brug slump () - funktionen til at producere et tilfældigt indeks element.

Her er et eksempel kode. Der er et array, som er i denne tabel med farver. Koden viser en tilfældig farve fra matrixen.

▶ Run
#!/usr/bin/perl

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

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

print $color;

Hvordan det fungerer. Der er en bred vifte af @colors. Det har 5elementer. For at tage det første element, du har brug for at skrive $colors[0], til den sidste — $colors[4].

I dette eksempel, rand @colors er som rand(5). I denne ved hjælp af en vifte, den returnerer antallet af elementer i arrayet. (skalar sammenhæng).

rand @colors returnerer et tal fra 0 (inklusiv), og antallet 5 (men ikke herunder dette nummer). For eksempel, resultatet af denne operation kan blive nummer 3.70744988833152.

Og det sidste trin. Resultatet rand @colors er anvendt som indeks array. Dvs det viser sig, noget som $colors[ 3.70744988833152 ]. Dette posten returnerer det samme array-element, som er trådt $colors[3], dvs det fjerde element i strengen 'magenta'.

Relaterede emner

Andre artikler