Portál AbcLinuxu, 9. května 2024 08:32


Dotaz: perl a zachovani poradi prvku v hash poly

12.3.2012 07:58 ironman
perl a zachovani poradi prvku v hash poly
Přečteno: 198×
Odpovědět | Admin
Pekny den, potrebuju zachovat poradi prvku v hash poly. Mam nasledujici kod

my %params = ( "parametr1" => "",
               "parametr2" => "",
               "parametr3" => ""
);
pri spusteni se vsak napriklad parametr3 posadi na druhe misto a paramter 1 na treti. Jak docilit toho, aby poradi zustalo stejne? Jde to nejak? Teda je mi jasne, ze prohnat klice sortem by bylo resenim, ale pole ma vice polozek a na jejich poradi jsou navazane vyhodnocovace. Proste potrebuju zachovat to poradi bez toho aniz bych tridil klice.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.3.2012 10:04 Kit
Rozbalit Rozbalit vše Re: perl a zachovani poradi prvku v hash poly
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co je to "hash poly"?

V hash není definováno pořadí prvků, výsledek budeš muset seřadit. Nevím, jak bys chtěl klíče třídit, raději je seřaď.

Můžeš klidně psát česky.
12.3.2012 10:23 chochi | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: perl a zachovani poradi prvku v hash poly
Odpovědět | | Sbalit | Link | Blokovat | Admin
Asi nejlepsi by bylo to prepsat na pouziti "array" namisto "hash".
Pokud to neni mozne, tak to lze vyresit pomoci "tie", napr. to resi modul Tie::Hash::Indexed.
12.3.2012 19:03 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: perl a zachovani poradi prvku v hash poly
Odpovědět | | Sbalit | Link | Blokovat | Admin

To je vlastnost, na kterou je Perl už mnoho let hrdý. Její bezpečnostní dopady začaly řešit ostatní jazyky až nedávno.

Prostě použijte jinou datovou strukturu. Například Tie::StoredOrderHash.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.