"Jess Gabriel y Galn" <jgabrielygalan / gmail.com> wrote in post #1071144:
> On Fri, Aug 3, 2012 at 10:39 AM, b1_ __ <lists / ruby-forum.com> wrote:
>>
>> need isolate each hand, extract the hand data and put it in a hash for>> Can I do this without storing data in arrays or objects? I've been
>> thinking I can use another Finite State Machine, only look for the words
>> "Hand" (start of hand) and "wins" (end of hand), the problem is I need>> some of the data on the line that has the word "Hand" on it, somethingI
>> can't do with my code above. I also need to switch between hands when
>> there are no lines between the word "wins" and the next line which will
>> have the word "Hands" on it indicating the start of the next hand.
>
> I don't understand the part about not using arrays or objects.
> Jesus.

How I imagined the program would work is like so:
1. Step into first-hand-processing mode.
2. Create hand-data hash with date, player no, blind level.
3. Extract raw numbers and save to players raw-data text file, organising the raw numbers using the hand-data hash made in previous step.
4. Clear hand-data hash.
5. Exit first-hand-processing mode.
6. Step into second-hand-processing mode.
7. Create hand-data hash with date, player no., blind level.
8. etc.

So no extracting all the lines of the hand and putting that into a hash or something. The only container object created is the hand-data hash which gets wiped on moving to the next hand. I thought maybe this would speed up the program, exspecially if I needed to process 1000's of hands.

I'm not really fussed though. It's more important I understand the code and there is some elegance about it and perhaps some expandability at this stage. If it's too confusing to use nested state machines I'm happy to use whatever is suggested.

I'm not a fast reader of code so still digesting what you've posted...