Slik genererer du dynamisk en liste i Perl

En Perl-liste er en samling av elementer i en sekvens. For å opprette en liste må du bruke "@" -symbolet før en navngivelseserklæring. Du kan opprette dynamiske lister mens programmet kjører, ved å skrive koden for å tillate det. For eksempel kan du spørre brukeren om litt startinformasjon, og genererer deretter en liste med tall som passer til kriteriene.

Brukeranmodninger

For å vite hvilke verdier brukeren ønsker i sin dynamisk opprettede liste, må du spørre henne om noe. I hvert fall må du vite hvor mange tall hun vil ha i listen, og rekkevidden av verdier for disse tallene. Bruk "utskrift" -funksjonen til å spørre brukeren om antall elementer, og skriv "$ num =;" for å lagre den verdien i $ num-variabelen. Deretter spør om rekkevidde og skriv "$ range =;" for å lagre den verdien i $-variabelen.

Rand Funksjon

Rand-funksjonen genererer dynamisk et tilfeldig tall med litt fleksibilitet. Som standard oppretter det et desimalnummer mellom null og en. Ved å kombinere den med "int" -funksjonen kan du opprette hele tall, og du kan også inkludere en rekkevidde som parameter. For eksempel, hvis brukeren lagrer "50" som området du spurte ham om, skriver du «$ random = int (rand ($ range + 1));" lager et tilfeldig tall mellom null og 50. Du må legge til "+1" i setningen, ellers vil rekkevidden være null til 49.

Trykk på funksjon

Du bruker "push" -funksjonen for å legge til et nytt element til enden av en Perl-liste. Det krever to parametere: listen som skal legges til, og den nye verdien. For eksempel skriver du «push (@list, $ random);" legger til verdien som er lagret i $ random-variabelen til listen. Alternativt kan du bruke "unshift" -funksjonen til å legge til et element i begynnelsen av en matrise, men når du lager et dynamisk array fra begynnelsen, spiller det ingen rolle på hvilken side du legger til nye elementer.

For Loop

For å generere listen, bruk en "for" loop. For tellervariabelen, start ved en, gå til den er lik $ num-variabelen, og øk den med en. Skriv for eksempel "for ($ i = 1; $ i <= $ num; $ i ++)" for å lage sløyfen. Inne, du trenger bare å bruke to linjer med kode: ringene til kantfunksjonen og push-funksjonene. Når sløyfen er fullført, vil du ha en dynamisk generert liste over tall.

Populære Innlegg