Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Scripting situation I cannot wrap my head around



On Tue, Dec 05, 2006 at 09:18:21AM +0100, Mikael Magnusson wrote:
> On 05/12/06, TjL <luomat@xxxxxxxxx> wrote:
> >My apologies for asking you all for what feels like a basic question,
> >but I am missing something and cannot wrap my head around how to fix
> >it.
> >
> >I am currently writing "verbatims" for a class that I am taking.  The
> >teacher wants the verbatims to include a number for each time a person
> >has spoken.
> >
> >An example will make this more clear.  Assume that John, Tim and
> >George and talking.
> >
> >Here is "normal" dialog:
> >
> >John: How are you today?
> >Tim: I'm good.
> >George: I'm Ok, how are you
> >John: I'm good too.
> >George: Glad to hear it
> >John: Thanks
> >Tim: Yeah, me too
> >
> >Here is verbatim style dialog:
> >
> >John1: How are you today?
> >Tim1: I'm good.
> >George1: I'm Ok, how are you
> >John2: I'm good too.
> >George2: Glad to hear it
> >John3: Thanks
> >Tim2: Yeah, me too
> >
> >Notice that the number next to the name represents the number of times
> >that person has said something (it doesn't matter WHO they said it
> >to).
> >
> >What I am trying to do is figure out a way to have the numbering done
> >for me, but I can't wrap my head around how to do that.  You would
> >need separate counters for each person, and you wouldn't know how many
> >people would be a part of the conversation (no fewer than 2 people,
> >probably no more than 10, usually 2-5).
> >
> >I've tried to come up with WHILE loops or FOR loops using counters and
> >such, but I can't get past the first hurdle, which seems to be: how to
> >keep track of a counter for each speaker when you don't know how many
> >speakers you will have.
> >
> >Any help appreciated.  The fact that it's 2:30am may have something to
> >do with my brain fog (I hope!) so my apologies if I am missing
> >something obvious!
> >
> >TjL
> 
> Maybe this will help
> 
> % typeset -A verbatim
> % verbatim[John]=1
> % verbatim[Tim]=3
> % echo $verbatim
> 3 1
> % echo $verbatim[John]
> 1
> % echo $verbatim[Tim]
> 3

This might also be useful:

% ((verbatim[John]++))
% echo $verbatim[John]
2

-- 
Thor Andreassen



Messages sorted by: Reverse Date, Date, Thread, Author