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: