Hur man dynamiskt genererar en lista i Perl

En Perl-lista är en samling av objekt i en sekvens. För att skapa en lista måste du använda symbolen "@" före en namndeklaration. Du kan skapa dynamiska listor medan ditt program körs genom att skriva koden för att tillåta det. Till exempel kan du uppmana användaren för någon startinformation och genererar sedan en lista med siffror för att passa kriterierna.

Användarens uppmaningar

För att veta vilka värden användaren vill ha i sin dynamiskt skapade lista, måste du be henne om lite information. Du behöver åtminstone veta hur många nummer hon vill ha i listan och värdet av värden för dessa nummer. Använd funktionen "skriv ut" för att uppmana användaren för antalet poster och skriv "$ num =;" för att spara det värdet i $ num variabeln. Fråga sedan sortimentet och skriv "$ range =;" för att spara det värdet i $ -intervallvariabeln.

Rand Funktion

Funktionen "Rand" genererar dynamiskt ett slumptal med viss flexibilitet. Som standard skapar det ett decimaltal mellan noll och en. Genom att kombinera den med "int" -funktionen kan du skapa hela tal, och du kan också inkludera ett intervallvärde som en parameter. Om användaren exempelvis sparar "50" som det intervall du frågade honom till, skriver du "$ random = int (rand ($ range + 1));" skapar ett slumptal mellan noll och 50. Du måste lägga till "+1" i uttalandet, annars skulle intervallet vara noll till 49.

Tryck funktionen

Du använder funktionen "push" för att lägga till ett nytt objekt i slutet av en Perl-lista. Det tar två parametrar: listan som ska läggas till och det nya värdet. Till exempel skriver du "push (@list, $ random);" lägger till det värde som sparats i $ slumpmässig variabel till listan. Alternativt kan du använda funktionen "unshift" för att lägga till ett element i början av en array, men när du skapar en dynamisk array från början, spelar det ingen roll på vilken sida du lägger till nya objekt.

För Loop

För att generera listan, använd en "för" -slinga. För räknevariabeln, börja vid en, gå till den motsvarar variabeln $ num och öka den med en. Skriv till exempel "för ($ i = 1; $ i <= $ num; $ i ++)" för att skapa slingan. Inuti behöver du bara använda två rader av kod: samtalen till randfunktionen och push-funktionerna. När slingan är klar kommer du att ha en dynamiskt genererad lista över siffror.

Populära Inlägg