Kezdőoldal » Számítástechnika » Programozás » Hogyan definiálunk két dimenzi...

Hogyan definiálunk két dimenziós hash-t bash-perl nyelvben?

Figyelt kérdés

2016. dec. 6. 22:27
 1/3 anonim ***** válasza:
59%
Van ennek a kérdésnek az égvilágon bármi értelme?
2016. dec. 7. 09:18
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
100%

Mi az a bash-perl nyelv? Perl vagy bash? Bash-ben nincsenek több dimenziós változók, a legkomplikáltabb változó az associative array, ahol az elemenket (value) egy cimkével (key) tudod elérni. Perl alatt ez nagyjából, de nem teljesen, megfelel a hash nevű változónak. Itt aztán bármilyen komplikált adatstruktúra könnyel létrehozható, mivel a hash által tárolt értékek lehetnek tetszőleges adatstruktúrák referenciái.


Ez egy kétdimenziós hash definiciója perl nyelven:

my %h = (

"cica" => { "mondja" => "miau", "eszik" => "eger"},

"kutya" => { "mondja" => "vau", "fajta" => "vizsla"}

);


Amikor megadjuk a cica és kutya kulcsokhoz tartozó értéket, akkor kapcsos zárójelbe írjuk egy másik hash táblát. A kapcsos zárójel azt jelenti, hogy az érték egy hashreferencia lesz.


Értékek elérése:

print $h{"kutya"};

A kiírt szövegből tudni lehet, hogy valóban a kutya kulcshoz tartozó érték valóban egy hash referencia.


print $h{"kutya"}{"fajta"}

Itt megkapjuk a vizslát. Itt először kiválasztjuk a hashből a kutya címkéhez tartozó hash referenciát, majd annak kiszedjük a fajta címkéhez tartozó értéket, ami a vizsla.


Persze nemcsak hash-t lehet beágyazni hash-be, hanem sort, vagy akár szubrutinra mutató referenciát, illetve a beágyazott hash-nek is lehet még összetettebb értékei is.

2016. dec. 7. 11:05
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Köszönöm a válaszokat!
2016. dec. 7. 11:46

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!