Najlepszy samouczek Perl Array W 2024 r. W tym samouczku możesz dowiedzieć się Tworzenie tablicy,Dostęp do elementów tablicy,Numer seryjny Array,rozmiar tablicy,Dodawanie i usuwanie elementów tablic,tablica cięcia,Wymień elementy tablicy,Konwertuje ciąg do tablicy,Tablica przekształca się na ciąg,Sortowanie tablicy,Zmienne specjalne: $ [,Scalanie tablicy,Wybrać z listy element,
Tablica jest wartością skalarną przechowywane nieuporządkowaną listę zmiennych.
@ Początek tablicy zmiennych. Dostęp do elementów tablicy za pomocązmiennej $ + nazwa + [Index] do odczytu formatu, przykłady przedstawiają się następująco:
#!/usr/bin/perl @hits = (25, 30, 40); @names = ("google", "w3big", "taobao"); print "\$hits[0] = $hits[0]\n"; print "\$hits[1] = $hits[1]\n"; print "\$hits[2] = $hits[2]\n"; print "\$names[0] = $names[0]\n"; print "\$names[1] = $names[1]\n"; print "\$names[2] = $names[2]\n";
Program wykorzystuje symbol $ \ uciec, więc jest wyjście.
Powyższy program, wyjście jest:
$hits[0] = 25 $hits[1] = 30 $hits[2] = 40 $names[0] = google $names[1] = w3big $names[2] = taobao
Tablica zmienną początku@ symbolu, element jest w nawiasach mogą być QWrozpoczyna określenie macierzy.
@array = (1, 2, 'Hello'); @array = qw/这是 一个 数组/;
Druga tablica pomocąqw // operatora, która zwraca listę łańcuchów, elementy tablicy oddzielone spacjami.Oczywiście, można również korzystać z wielu wierszy, aby zdefiniować tablicę:
@days = qw/google taobao pl. w3big/;
Można również przypisać indeks do tablicy, co następuje:
$array[0] = 'Monday'; pl. $array[6] = 'Sunday';
Dostęp do elementów tablicy za pomocązmiennej $ + nazwa + [Index] do odczytu formatu, przykłady przedstawiają się następująco:
@sites = qw/google taobao w3big/; print "$sites[0]\n"; print "$sites[1]\n"; print "$sites[2]\n"; print "$sites[-1]\n"; # 负数,反向读取
Powyższy program, wyjście jest:
google taobao w3big w3big
indeksu tablicy zaczyna się od 0, który wynosi 0 do pierwszego elementu, drugiego elementu 1, i tak dalej.
Ujemny odczytu z rewersu, -1 jest pierwszy element -2 to drugi element
Perl stanowi sekwencja może być w postaci układu produkcji wformie wartości końcowej wartość początkową + pl, przykłady są następujące:
#!/usr/bin/perl @var_10 = (1pl10); @var_20 = (10pl20); @var_abc = (aplz); print "@var_10\n"; # 输出 1 到 10 print "@var_20\n"; # 输出 10 到 20 print "@var_abc\n"; # 输出 a 到 z
<p>执行以上程序,输出结果为:</p> <pre> 1 2 3 4 5 6 7 8 9 10 10 11 12 13 14 15 16 17 18 19 20 a b c d e f g h i j k l m n o p q r s t u v w x y z
Kontekst zależy od wielkości skalarne Array. :
@array = (1,2,3); print "数组大小: ",标量 @array,"\n";
Zwraca długość tablicy jest tablicą wielkości fizycznej, niż liczba elementów, widzimy następujące przykłady:
#!/uer/bin/perl @array = (1,2,3); $array[50] = 4; $size = @array; $max_index = $#array; print "数组大小: $size\n"; print "最大索引: $max_index\n";
Powyższy program, wyjście jest:
数组大小: 51 最大索引: 50
Jak widać z wyników w produkcji, elementy tablicy są tylko cztery, ale rozmiar tablicy 51.
Perl posiada szereg przydatnych funkcji dodawania i usuwania elementów tablicy.
Jeśli bez doświadczenia w programowaniu, zanim można zapytać, co to jest funkcja, w rzeczywistości, zanim będziemydrukować zastosowanie, to funkcja wyjścia.
Poniższa tabela zawiera listę typowych funkcji manipulacji tablicą:
Nie. | Rodzaj i opis |
---|---|
1 | pchnąć @ARRAY, lista Lista wartości na końcu szeregu |
2 | pop @ARRAY Pop tablicy ostatnia wartość i zwraca go |
3 | przesunięcie @ARRAY Array pop pierwszą wartość i zwraca go. Wartość indeksu tablicy są sekwencyjnie minus jeden. |
4 | unshift @ARRAY, LISTA Wykaz znajdujący się w przedniej części tablicy i zwraca liczbę elementów w nowej tablicy. |
#!/usr/bin/perl # 创建一个简单是数组 @sites = ("google","w3big","taobao"); print "1. \@sites = @sites\n"; # 在数组结尾添加一个元素 push(@sites, "baidu"); print "2. \@sites = @sites\n"; # 在数组开头添加一个元素 unshift(@sites, "weibo"); print "3. \@sites = @sites\n"; # 删除数组末尾的元素 pop(@sites); print "4. \@sites = @sites\n"; # 移除数组开头的元素 shift(@sites); print "5. \@sites = @sites\n";
Powyższy program, wyjście jest:
Możemy wyciąć tablicy i zwraca nową tablicę po cięciu:
#!/usr/bin/perl @sites = qw/google taobao w3big weibo qq facebook 网易/; @sites2 = @sites[3,4,5]; print "@sites2\n";
Powyższy program, wyjście jest:
weibo qq facebook
Musisz określić prawidłowy wskaźnik wartości indeksu tablicy może być ujemna po liczbę dodatnią, każdej wartości indeksu z przecinkami.
Jeśli indeks jest ciągła, można użyćpl reprezentować określony zakres:
#!/usr/bin/perl @sites = qw/google taobao w3big weibo qq facebook 网易/; @sites2 = @sites[3pl5]; print "@sites2\n";
Powyższy program, wyjście jest:
weibo qq facebook
elementy tablicy Perl są stosowane wymiennie w splice () Składnia funkcji jest następująca:
splice @ARRAY, OFFSET [ , LENGTH [ , LIST ] ]
Parametr Opis:
Poniższe przykłady zaczynają wymienić szósty element macierzy pięciu elementów:
#!/usr/bin/perl @nums = (1pl20); print "替换前 - @nums\n"; splice(@nums, 5, 5, 21pl25); print "替换后 - @nums\n";
Powyższy program, wyjście jest:
替换前 - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 替换后 - 1 2 3 4 5 21 22 23 24 25 11 12 13 14 15 16 17 18 19 20
Perl konwertuje tablicę ciągów za pomocą split () Składnia funkcji jest następująca:
split [ PATTERN [ , EXPR [ , LIMIT ] ] ]
Parametr Opis:
#!/usr/bin/perl # 定义字符串 $var_test = "w3big"; $var_string = "www-w3big-com"; $var_names = "google,taobao,w3big,weibo"; # 字符串转为数组 @test = split('', $var_test); @string = split('-', $var_string); @names = split(',', $var_names); print "$test[3]\n"; # 输出 com print "$string[2]\n"; # 输出 com print "$names[3]\n"; # 输出 weibo
Powyższy program, wyjście jest:
o com weibo
Perl w tablicy do łańcucha za pomocą join () Składnia funkcji jest następująca:
join EXPR, LIST
Parametr Opis:
#!/usr/bin/perl # 定义字符串 $var_string = "www-w3big-com"; $var_names = "google,taobao,w3big,weibo"; # 字符串转为数组 @string = split('-', $var_string); @names = split(',', $var_names); # 数组转为字符串 $string1 = join( '-', @string ); $string2 = join( ',', @names ); print "$string1\n"; print "$string2\n";
Powyższy program, wyjście jest:
www-w3big-com google,taobao,w3big,weibo
Perl tablic sort wykorzystujące sort () Składnia funkcji jest następująca:
sort [ SUBROUTINE ] LIST
Parametr Opis:
#!/usr/bin/perl # 定义数组 @sites = qw(google taobao w3big facebook); print "排序前: @sites\n"; # 对数组进行排序 @sites = sort(@sites); print "排序前: @sites\n";
Powyższy program, wyjście jest:
排序前: google taobao w3big facebook 排序前: facebook google w3big taobao
Uwaga: Sortowanie tablicy jest sortowana według wartości numerycznej ASCII. Więc lepiej najpierw konwertowane gdy każdy element tablicy sortowania małe litery przed sortowaniem.
Specjalne$ zmienna [pierwszegoindeksu tablicy, na ogół 0, jeśli$ [ustawionyna 1, pierwsza wartość indeksowania tabeli jest jeden, drugi jest 2, i tak dalej. Przykłady są następujące:
#!/usr/bin/perl # 定义数组 @sites = qw(google taobao w3big facebook); print "网站: @sites\n"; # 设置数组的第一个索引为 1 $[ = 1; print "\@sites[1]: $sites[1]\n"; print "\@sites[2]: $sites[2]\n";
Powyższy program, wyjście jest:
网站: google taobao w3big facebook @sites[1]: google @sites[2]: taobao
Generalnie nie zaleca się przy użyciu specjalnego$ zmienna [wnowej wersji Perl, zmienna jest przestarzała.
Element tablicy jest przecinek aby oddzielić, możemy również użyć przecinków scalić tablicę, co następuje:
#!/usr/bin/perl @numbers = (1,3,(4,5,6)); print "numbers = @numbers\n";
Powyższy program, wyjście jest:
numbers = 1 3 4 5 6
Można również umieścić kilka tablic w tablicy, a połączone w głównej tablicy:
#!/usr/bin/perl @odd = (1,3,5); @even = (2, 4, 6); @numbers = (@odd, @even); print "numbers = @numbers\n";
Powyższy program, wyjście jest:
numbers = 1 3 5 2 4 6
Lista może być stosowany jako matrycy przy użyciu wartości indeksu określonego na liście po określony element mogą być odczytywane w sposób następujący:
#!/usr/bin/perl $var = (5,4,3,2,1)[4]; print "var 的值为 = $var\n"
Powyższy program, wyjście jest:
var 的值为 = 1
Podobnie, możemy użyć w tablicypl czytać określony zakres elementów:
#!/usr/bin/perl @list = (5,4,3,2,1)[1pl3]; print "list 的值 = @list\n";
Powyższy program, wyjście jest:
list 的值 = 4 3 2