Dynamisch genereren van een lijst in Perl
Een Perl-lijst is een verzameling items in een reeks. Om een lijst te maken, moet u het "@" -symbool gebruiken voor een naamverklaring. U kunt dynamische lijsten maken terwijl uw programma wordt uitgevoerd door de code te schrijven om dit toe te staan. U kunt bijvoorbeeld de gebruiker om enkele startinformatie vragen en vervolgens een lijst met nummers genereren die aan de criteria voldoet.
Gebruikersprompts
Om te weten welke waarden de gebruiker wil in haar dynamisch aangemaakte lijst, moet u haar om wat informatie vragen. U moet op zijn minst weten hoeveel getallen ze in de lijst wil hebben en het bereik van waarden voor die getallen. Gebruik de "print" -functie om de gebruiker om het aantal items te vragen en typ "$ num =;" om die waarde op te slaan in de variabele $ num. Geef vervolgens het bereik op en typ "$ range =;" om die waarde op te slaan in de variabele $ range.
Randfunctie
De "rand" -functie genereert dynamisch een willekeurig getal met enige flexibiliteit. Standaard wordt een decimaal getal tussen nul en één gemaakt. Door het te combineren met de "int" -functie, kunt u hele getallen maken en u kunt ook een bereikwaarde als parameter opnemen. Als de gebruiker bijvoorbeeld "50" opslaat als het bereik waarvoor u hem hebt gevraagd, typ dan "$ random = int (rand ($ range + 1));" maakt een willekeurig getal tussen nul en 50. U moet de "+1" aan de instructie toevoegen, anders is het bereik nul tot 49.
Push-functie
U gebruikt de "push" -functie om een nieuw item toe te voegen aan het einde van een Perl-lijst. Er zijn twee parameters nodig: de lijst waaraan moet worden toegevoegd en de nieuwe waarde. Bijvoorbeeld, typ "push (@list, $ random);" voegt de waarde die is opgeslagen in de variabele $ random toe aan de lijst. Als alternatief kunt u de functie "unshift" gebruiken om een element toe te voegen aan het begin van een array, maar wanneer u vanuit het niets een dynamische array maakt, maakt het niet uit aan welke kant u nieuwe items toevoegt.
For loop
Gebruik een lus "for" om de lijst te genereren. Voor de counter variabele, begin bij één, laat het gaan totdat het gelijk is aan de $ num variabele, en verhoog het met één. Typ bijvoorbeeld "voor ($ i = 1; $ i <= $ num; $ i ++)" om de lus te maken. Binnenin hoeft u slechts twee coderegels te gebruiken: de oproepen naar de randfunctie en de push-functies. Wanneer de lus is voltooid, hebt u een dynamisch gegenereerde lijst met nummers.