Istnieją różne sposoby drukowania rozmiaru tablicy. Oto znaczenie wszystkich: Powiedzmy, że nasza tablica jestmy @arr = (3,4);
Metoda 1: skalar
To właściwy sposób na uzyskanie rozmiaru tablic.
print scalar @arr; # prints size, here 2
Metoda 2: Numer indeksu
$#arr
daje ostatni indeks tablicy. więc jeśli tablica ma rozmiar 10, to jej ostatni indeks wynosiłby 9.
print $#arr; # prints 1, as last index is 1
print $#arr + 1; # Add 1 to last index to get array size
Dodajemy tutaj 1, biorąc pod uwagę tablicę jako 0-indeksowaną . Ale jeśli nie jest to zero, logika się nie powiedzie .
perl -le 'local $[ = 4; my @arr=(3,4); print $#arr + 1;' # prints 6
Powyższy przykład drukuje 6, ponieważ ustawiliśmy jego początkowy indeks na 4. Teraz indeks będzie wynosił 5 i 6, odpowiednio z elementami 3 i 4.
Metoda 3:
Gdy tablica jest używana w kontekście skalarnym, zwraca rozmiar tablicy
my $size = @arr;
print $size; # prints size, here 2
W rzeczywistości metoda 3 i metoda 1 są takie same.
print 0+@arr
,print "".@arr
,print ~~@arr