3813100496

3813100496



Internetowe Bazy Danych - wykład 12 Hasz jest nieuporządkowanym zbiorem skalarów. Udostępnia swoje wartości nie przez podanie kolejnego ich numeru a poprzez wywołanie napisu z nimi skojarzonego. Hasze nazywane są bardzo często tablicami asocjacyjnymi. W przeciwieństwie do typowych tablic mają one strukturę nieuporządkowaną więc nie można na nich działać poleceniami typu push i pop. Klucze do hasza nie zależą od położenia dlatego podczas wprowadzania określonych elementów trzeba dostarczyć klucz i wartość. Nic nie stoi na przeszkodzie aby przypisać haszowi listę tak jak było to robione przy zwykłych tablicach, lecz tutaj każda para elementów będzie traktowana automatycznie jako para typu klucz/wartość. Przed haszem zamiast "małpy stoi jednak znak procenta %. Przykładowy hasz może wyglądać następująco: %rok = ("St", "styczeń", "Lt", "luty", "Ma", "marzec", "Kw", "kwiecień", "Maj", "maj", "Cz", "czerwiec", "Lip", "lipiec", "Si", "sierpień", "Wrz", "wrzesień", "Pa", "październik", "Lis", "listopad", "Gr", "grudzień");

Jak widać hasz zawiera 12 kluczy i 12 odpowiadających im wartości. Jest on napisany poprawnie jednak dosyć nieczytelnie i gdyby było więcej par klucz/wartość to znalezienie jakiejś konkretnej byłoby dosyć czasochłonne. Dlatego w Perlu zamiast przecinka odgradzającego klucze od wartości można użyć separatora =>. Po zamianie wygląda to tak:

%rok = (

"St" => "styczeń",

"Lt" => "luty",

"Ma" => "marzec",

"Kw" => "kwiecień",

"Maj" => "maj",

"Cz" => "czerwiec",

"Lip" => "lipiec",

"Si" => "sierpień",

"Wrz" => "wrzesień",

"Pa" => "październik",

"Lis" => "listopad",

"Gr" => "grudzień"

);

Niewątpliwie jest to o wiele bardziej przejrzysta forma zapisu dłuższego hasza.

Pojedynczy element z hasza jest wybierany za pomocą nawiasów klamrowych. Gdyby trzeba było znaleźć wartość skojarzoną z kluczem "Si" w tym haszu trzeba by było użyć konstrukcji $rok{"Si"). Wyrażenie to zwróci wartość "sierpień". Nadal jednak jako typ zmiennej używamy skalara - czyli znak $ a nie %, mimo iż właśnie tak oznaczamy tablice hasza.

Perl pozwala konwertować zwykłe tablice na tablice asocjacyjne (hasze) i na odwrót:

@tabelal = %rok #teraz @tabelal ma ułożenie takie jak pierwszy nieuporządkowany zapis hasza %rok powyżej z tym, że odwołujemy się do niego według zasad normalnej tablicy tzn. liczbowo

%rokl = 0tabelal #od teraz hasz %rokl ma taką samą zawartość jak %rok

-7-



Wyszukiwarka

Podobne podstrony:
Internetowe Bazy Danych - wykład 12 %SIG Jest to hasz używany do ustawiania procedur obsługi sygnałó
Internetowe Bazy Danych - wykład 12 Jest możliwe również aby przypisanie odnosiło się do tej samej z
Internetowe Bazy Danych - wykład 12 STRUKTURY STERUJĄCE Większość prostych programów pisanych w Perl
Internetowe Bazy Danych - wykład 12 Instrukcja foreach Jest to ostatnia z głównych instrukcji iterac
Internetowe Bazy Danych - wykład 12 OPERATORY Operatory, które mogą być używane podczas programowani
Internetowe Bazy Danych - wykład 12 Operatory arytmetyczne Są to nic innego jak zwykłe matematyczne
Internetowe Bazy Danych - wykład 12 Pr zykładowy zapis Nazwa operatora Działanie $a &&
Internetowe Bazy Danych - wykład 12 Operatory badające pliki Ostatnią grupą operatorów z tych
Internetowe Bazy Danych - wykład 12 PROCEDURY W większości obecnie stosowanych języków programowania
Internetowe Bazy Danych - wykład 12 chmod LISTA Funkcja ta powoduje zmianę atrybutów plików znajdują
Internetowe Bazy Danych - wykład 12 Instrukcje, które powodują sprawdzenie ilości znaków w łańcuchu
Internetowe Bazy Danych - wykład 12 Pełna składnia pętli while wygląda następująco: while
Internetowe Bazy Danych - wykład 12 INSTALACJA I KONFIGURACJA Na początek trzeba zaopatrzyć się w Pe
Internetowe Bazy Danych - wykład 12 skrypcie to próba wywołania go z komendy ./nazwa_skryptu lub sam
Internetowe Bazy Danych - wykład 12 ZMIENNE I TABLICE ZMIENNYCH Zmienna to nic innego jak wygodny sc
Internetowe Bazy Danych - wykład 12 Inny przykład zastosowania odpowiednich cudzysłowów: $a = jeden
Internetowe Bazy Danych - wykład 12 Należy pamiętać przy tym, że odwołując się do zmiennej umieszczo
Internetowe Bazy Danych - wykład 12 Oprócz tablic, które może utworzyć sam programista i użytkownik
Internetowe Bazy Danych - wykład 12PERL HISTORIA Perl (Pracitcal Extraction and Report Language) jes

więcej podobnych podstron