in reply to Re: Re (tilly) 1: Golf: Arbitrary Alphabetical Sorting
in thread Golf: Arbitrary Alphabetical Sorting
First of all that doesn't work because shift returns a
reference. You need it to dereference the first element into an array. Secondly you know I love a challenge..like 76 characters:
(I have to waste 3 on removing spaces, dang.)sub o{ ($c,$s,$")=@_;sub t{$_=pop;s/./~0+index"@$c",$&/ges;$_}sort{t($a)cmp t +$b}@$s }
UPDATE
In 5.6.x it appears you need to spend another character:
sub o{ ($c,$s,$")=@_;sub t{$_=pop;s/./1e9+index"@$c",$&/ges;$_}sort{t($a)cmp +t$b}@$s }
UPDATE 2
Saving another character..back to 76.
sub o{ ($c,$s,$")=@_;sub t{s/./1e9+index"@$c",$&/ges;$_}sort{t($_=$a)cmp t$_= +$b}@$s }
UPDATE 3
Throwing in tadman's improvement, 75:
(Note that chr returning 2 chars wouldn't make Unicode come out right. Hence I am keeping the 1e9 trick.)sub o{ ($c,*w,$")=@_;sub t{s/./1e9+index"@$c",$&/ges;$_}sort{t($_=$a)cmp t$_= +$b}@w }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re (tilly) 3: Golf: Arbitrary Alphabetical Sorting
by tadman (Prior) on May 10, 2001 at 01:39 UTC | |
Re^4: Golf: Arbitrary Alphabetical Sorting
by tadman (Prior) on May 10, 2001 at 03:04 UTC | |
by chipmunk (Parson) on May 10, 2001 at 05:18 UTC | |
by tilly (Archbishop) on May 10, 2001 at 11:26 UTC |
In Section
Meditations