5. fejezet hash - hash

Ez a rész néhány a lehetőségek kezelésére rendelkezésre álló összegeket.

funkcióbillentyűk

Funkcióbillentyűk (% imya_hesha) felsorolja az összes aktuális kulcs létezik a hash% imya_hesha. Más szóval, az ezzel a funkció megegyezik a visszatérő listáját minden eleme a páratlan számú (első, harmadik, ötödik, stb) telepítésével hash% imya_hesha keretében egy listát, majd visszaállítja funkciógombjaira ebben a sorrendben. Ha nincsenek elemek a hash, kulcsok függvény egy üres lista.







Alkalmazzuk ezt a funkciót a hash az előző példákban:

Mint minden más, beépített függvények, a zárójelek opcionális: funkcióbillentyűk% Fred azonos kulcsokat (% Fred).

Ez a példa is mutatja, hogy az egyes elemek az interpolált a hash sorban idézőjelbe. Minden hash azonban nem interpolált ily módon *.

* Lehetőség van elvileg révén a vágás, de itt nem beszélünk darabok.

A skaláris funkcióbillentyűk összefüggésben megadja az elemek száma (kulcs-érték párokat) tartalmazott a hash. Például, akkor lehet meghatározni, hogy a hash üres, mint ez:







Annak érdekében, hogy megtudja, a hash üres vagy nem, akkor csak meg kell, hogy használja a% hash egy skalár összefüggésben:

A függvény értékei

Függvényértékeket (% array_name) visszatér egy listát az összes aktuális értékei a megadott tömb ugyanabban a sorrendben, amelyben a funkcióbillentyűk (% array_name) visszaadja a kulcsokat. Mint mindig, a zárójeleket nem kötelező. Például:

@lastnames tömb tartalmaz egy értéket ( "Flintstone", "törmelék"), vagy a ( "törmelék", "Flintstone").

funkciójának

Mert hurok az egész hash (azaz tesztelni minden elem), akkor a funkcióbillentyűk, és kap értékeket key return azt. Valóban, ez a módszer széles körben használják, de van egy hatékonyabb módja - működéséhez egyes (% imya_hesha), amely visszatér a kulcs-érték pár, mint egy két elemből álló listát. Minden alkalommal, amikor a számítás a hash függvény visszatérési következő kulcs-érték pár, amíg az összes elem be van jelölve. Ha nincs több pár, minden visszatér egy üres lista.

Például, hogy adja át a% lastname hash az előző példában, akkor ezt valahogy így:

Hozzárendelése egy új értéket a teljes hash függvény ami minden egyes lépés az elején. Elemek hozzáadása a hash, és az eltávolítása is az elemek során a ciklus nagyon is „megzavarja” a függvény minden egyes (és valószínűleg is).

A funkció törléséhez

Ha nem találja, amit keres, azt javasoljuk, hogy használja a keresési lista: