Це стара версія документу!
%hash
У цій статті описані основні функції та правила синтаксису для роботи з хешами в Perl.
Хеш - це асоціативний масив, оскільки звернення до його значень здійснюється за допомогою скалярних ключів, а не його числових індексів. В інших мовах програмування хеші називають інакше, наприклад, просо асоціативними масивами, словниками, списками або картами.
Хеш — це невпорядкована група пар ключ-значення. Ключі є унікальними струнами. Значення є скалярними значеннями. Кожне значення може бути числом, рядком або посиланням. Кожен хеш-ключ пов’язаний з одним значенням , і всі ключі є унікальними всередині однієї хеш-структури. Це означає, що повторювані ключі заборонені.
Хеші, як і інші змінні Perl, оголошуються за допомогою ключового слова my. Назві змінної передує знак відсотка ( % ). Це невеликий мнемонічний трюк, який допоможе вам нагадати про структуру ключ-значення.
Хеші є одним з основних типів даних Perl.
Хеш є найкращим типом даних для комунікації між складними функціями, коли функція може повертати різний тип даних або їх кількість.
Також, при такому підході, вам буде легко вдосконалювати ваші програми з можливістю збереження функціонування між різними версіями.
Оголошення, ініціалізація та очищення
Оголошення (декларування)
виконується без присвоєння значень, наступним чином:
my %hash;
зазвичай це використовують для того, щоб відкрити змінну в певній області видимості, коли присвоєння виконується в різнорівневих блоках.
Очищення
Якщо в процесі виконання програми, вам потрібно очистити або знищити хеш, робіть це так:
%hash = ();
або так:
%hash = undef;
Насправді, оголошену змінну не можливо видалити, а лише очистити для звільнення оперативної пам'яті або для повторного використання з новими даними.
Ініціалізація (присвоєння)
Ініціалізація це присвоєння пустій змінній якогось значення:
%hash = ();
Оголошення та ініціалізацію можна об'єднати в одну команду, зразу присвоївши значення:
my %hash = ();
Подібно до синтаксису для масивів, хеші також можуть бути оголошені за допомогою списку значень, розділених комами:
my %hash = ('monday', 65, 'tuesday', 68, 'wednesday', 71, 'thursday', 53, 'friday', 60);
У наведеному вище коді Perl приймає перший запис у списку як ключ («monday»), а другий запис — як значення цього ключа (65). Третій запис у списку («tuesday») буде оголошено як ключ, а четвертий запис (68) як його значення тощо.
Оператор «жирна кома» виглядає як стрілка ('⇒') і дозволяє оголошувати пари значень ключів замість коми. Це робить код більш чистим і читабельним. Крім того, під час використання жирної коми не потрібно брати рядки в лапки для ключів. Використовуючи жирну кому, те саме оголошення %hash виглядатиме так:
my %hash = ( monday => 65, tuesday => 68, wednesday => 71, thursday => 53, friday => 60, );
Наповнення та видалення
Оголошує порожній хеш:
my %hash;
Оголошує порожній хеш:
my %hash;
Оголошує порожній хеш:
my %hash;
Оголошує порожній хеш:
my %hash;