Thanks - I need to keep the low aces so that they appear in the
correct position in the rearranged hand - if I had just deleted them,
straights with the aces low would have been displayed with the ace out
of order.

I liked the delta transform as well, of course it was the cause of the
bug (delta 0 when pairs were encountered) - if fixed it by shuffling
the delta zeros (excluding the first card) to the back of the hand.

Patrick


On Wed, 23 Mar 2005 23:02:00 +0900, Carlos <angus / quovadis.com.ar> wrote:
> [Patrick Hurley <phurley / gmail.com>, 2005-03-23 03.39 CET]
> > Find below a very slightly modified version of my quiz submission
> [...]
> >   def fix_low_ace_display(arranged_hand)
> >     # remove card deltas (this routine is only used for straights)
> >     arranged_hand.gsub!(/\S(\S\S)\s+/, "\\1 ")
> >
> >     # Fix "low aces"
> >     arranged_hand.gsub!(/L(\S)/, "A\\1")
> >
> >     # Remove duplicate aces (this will not work if you have
> >     # multiple decks or wild cards)
> >     arranged_hand.gsub!(/((A\S).*)\2/, "\\1")
> 
> Why not just delete the low aces (gsub!(/L./, ""))? What am I missing?
> 
> BTW, I liked how you detected straights using the delta transform. Clever
> idea (for me at least :).
> 
> >
> >     # cleanup white space
> >     arranged_hand.gsub!(/\s+/, ' ')
> >     # careful to use gsub as gsub! can return nil here
> >     arranged_hand.gsub(/\s+$/, '')
> >   end
> 
>