case insensitive hash
Jiri Polcar
polcar na physics.muni.cz
Středa Červen 15 18:12:41 MEST 2005
On Wed, Jun 15, 2005 at 06:05:12PM +0200, Honza Pazdziora wrote:
> On Wed, Jun 15, 2005 at 05:54:04PM +0200, Jiri Polcar wrote:
> >
> > Modul TieFolded uvadim na konci mailu. Problem je, ze potrebuju, aby se
> > vlasnost nerozlisovani velikosti pismen v klicich "dedila" i do hashoveho
> > pole, ktere tvori hodnotu $hash->{'karel'}. Takto:
>
> Jinymi slovy, pokud je jako hodnota vkladana reference na hash, tak
> chcete i na tento hash dat tie na tuto tridu. Vidim to tedy na
> prislusnou opravu metody STORE ....
>
> > $hash->{'karel'} = {};
> >
> > tie %{$hash->{'karel'}}, 'TieFolded';
> >
> > $hash->{'karel'}->{'abc'} = 2;
> > $hash->{'kAREl'}->{'aBc'} += 2;
>
> .. coz Vam chyti tyto jednoduche pripady,
Mam same takove jednoduche pripady. Je to velmi jednoducha struktura:
KEY_1:
KEY_11: hodnota1
KEY_12: hodnota2
KEY_13: hodnota3
KEY_2:
KEY_21: hodnota21
KEY_22: hodnota22
KEY_23: hodnota23
>
> ale uz ne pripad, kdy udelam
>
> $hash->{karel} = {
> a => 1,
> A => 2,
> };
Takovy pripad se nevyskytuje.
> takze by asi bylo vhodne v takovem pripade osetrit, ze se na zacatku
> provede znormalizovani toho "podhashe" a vsech podpodhashu.
>
Jak jsem psal, tohle nebude nutne.
> Otazka samozrejme muze znit i tak, na co to v realu potrebujete
> (jestli nahodou neresite problem, ktery vubec nemel vzniknout).
>
Ano, bohuzel resim. Vlastnost case insensitive se objevila az na zaver,
jinak bych zvolil jiny pristup. Ted se mi jevy jako nejjednodussi
"upgrade" toto.
Poradite, jak bych mel upravit metodu STORE?
--
JP
Další informace o konferenci Perl