Avatar billede ricki Nybegynder
04. juni 1999 - 19:47 Der er 7 kommentarer og
1 løsning

Count antallet i en Array

Hej er der nogle der ved om der findes en kommando i Perl der tæller hvormange elementer en array indeholder, jeg har søgt med lys og lygte men har intet fundet og det må da kunne gøres lettere end:
$count = 0;
foreach (@array) $count++;
Avatar billede mukke Nybegynder
04. juni 1999 - 20:04 #1
$#Array
Avatar billede mukke Nybegynder
04. juni 1999 - 20:05 #2
oops.. det skulle naturligvis være $#array..

Du tager bare variablesn navn uden @ og sætter $# foran
Avatar billede mukke Nybegynder
04. juni 1999 - 20:07 #3
Forresten.. hvis @array har to elementer - $array[0] og $array[1] - så har $#array værdien "1". Den har nemlig altid værdien af den sidste plads i brug. antallet er derfor egentlig $#array + 1.

Så var den der vist :)
Avatar billede tld Nybegynder
05. juni 1999 - 11:38 #4
Den "rigtige" måde at gøre det på er at benytte funktionen scalar()

my $number = scalar(@array);

"Rigtig" fordi man kan gøre samme ting på 1000 måned i PERL :-)
Avatar billede mukke Nybegynder
05. juni 1999 - 19:46 #5
tld: ehmm.. Den rigtige måde er da at bruge PERL's egen indbyggede variabel $#...

Men bortset fra ja - det siger de jo :)
Avatar billede ricki Nybegynder
06. juni 1999 - 10:18 #6
Tak for hjælpen, nu fandt jeg da hvor fandet det stod i min bog :-)
Forresten i følge min perl-bog, så er det lige korrekt at gøre det på den ene og den anden måde, og for at ikke skal være løgn så er der også en 3. måde.
Hvis en @array bliver brugt i en linie med =,==,>,< vil den indeholde antallet af elementer.
-Hvorfor fandet prøve jeg det ikke bare først. :-) Nå men anyway tak for hintet, og her er dine point.
Avatar billede mukke Nybegynder
06. juni 1999 - 20:37 #7
mange tak....

og jeg er enig med tld - der skal nok være nogle flere muligheder endnu :)
Avatar billede andpal75 Nybegynder
17. juni 1999 - 11:05 #8
En meget enkel måde: $antal_elementer = @array
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester