So erhalten Sie ein zufälliges Element aus dem array in Perl

Aufgabe. Im Programm in der Programmiersprache Perl ein array mit den Werten. Sie müssen erhalten ein zufälliges Element aus diesem array.

Die Lösung dieser Aufgabe in Perl ist sehr schön und elegant. Wird die Funktion rand() zum abrufen der zufälligen index Element.

Hier ist ein Beispiel Code. Es gibt ein array in dem Naho dieses Arrays mit Blumen. Der Code zeigt eine zufällige Farbe aus diesem array.

▶ Run
#!/usr/bin/perl

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

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

print $color;

Wie es funktioniert. Es gibt eine Reihe von @colors. Es gibt 5Elemente. Um sich zum ersten Element schreiben müssen $colors[0], zum letzten — $colors[4].

In diesem Beispiel rand @colors ist wie rand(5). Bei diesem Verwendung eines Arrays zurückgegeben wird die Anzahl der Elemente im array. (Skalar-Kontext).

rand @colors gibt die Anzahl der von 0 (einschließlich) bis zur Anzahl der 5 (aber nicht darunter ist eine Zahl). Zum Beispiel, das Ergebnis dieser Operation kann die Anzahl der 3.70744988833152.

Und der Letzte Schritt. Das Ergebnis rand @colors als index verwendet wird array. D.h. das Ergebnis ist so etwas wie $colors[ 3.70744988833152 ]. Diese der Datensatz liefert genau die gleiche array-Element als Datensatz $colors[3], d.h. das vierte Element — Zeile 'magenta'.

Verwandte Themen

Andere Artikel