Trideni
Pavel Kunc
kupa na cmail.cz
Sobota Prosinec 16 18:27:02 MET 2000
Mockrat dekuji.
S pozdravem Pavel Kunc
"Boleslav Bobcik" <xbobcik na fi.muni.cz> wrote in message
news:Pine.SGI.4.21.0012140730170.1492968-100000 na aisa.fi.muni.cz...
> On 13 Dec 2000, Martin Caslavsky wrote:
>
> > > potreboval bych setridit napr.: @pole = ('Praha 1', 'Praha 2', 'Praha
4',
> > > 'Praha 6', 'Praha 2', 'Brno', 'Plzen');
> > > tak aby bylo setrideno podle abecedy a pak podle cisla, tedy:
> > > Brno, Plzen, Praha 1, Praha 2, Praha 2, Praha 4, Praha 6.
> >
> > To asi bude chtit porovnavat jako retezce (funkci cmp) a ne jako cisla
> > (implicitne funkci <=>).
> > Teda neco jako print sort {$a cmp $b} @pole;
> > Jinak tenhle priklad je hned na prvni strance dokumentace k funkci sort,
> > takze nechapu, jak jste to mohl prehlednout.
>
> Pan Kunc asi mel na mysli to, ze sort spolu s cmp spravne nesetridi napr.
> 'Praha 2', 'Praha 11', ale naopak.
>
> Muj navrh by byl (nezkousel jsem, pisu z hlavy) neco jako
>
> @vysledek = sort
> {
> my ($mesto1,$cislo1)= $a =~ m{^(.*) (\d*)$};
> my ($mesto2,$cislo2) =$b =~ m{^(.*) (\d*)$};
> return $mesto1 cmp $mesto2 or $cislo1 <=> $cislo2
> }
> @mesta;
>
> --Boleslav Bobcik
> mailto:xbobcik na informatics.muni.cz
> http://www.fi.muni.cz/~xbobcik
>
Další informace o konferenci Perl