> -----Original Message-----
> From: Nathan Smith [mailto:nsmith5 / umbc.edu] 
> Sent: Tuesday, August 15, 2006 3:09 PM
> To: ruby-talk ML
> Subject: Re: goto function?
> 
> On Wed, 16 Aug 2006, David Vallner wrote:
> 
> > On Tue, 15 Aug 2006 23:05:10 +0200, fabsy 
> <fabbyfabs / gmail.com> wrote:
> > > I want the script to start over again.. for example..
> > > When the user made an input and pressed return I want the 
> script to
> > > "restart" or jump to the beginning..
> > >
> >
> > Let me introduce you to my good friend: structured 
> programming. I'm sure
> > you'll get along marvelous once you get to know each other.
> >
> > The BASIC construct of "goto" is rightfully considered harmful for
> > programs above a certain complexity. It's not present in Ruby in any
> > direct way that would let you jump around a program's structure
> > arbitrarily. (Actually, that's a lie, but I'll hold the 
> continuations for
> > the sake of simplicity.)
> 
> <snip>
> 
> Obligatory response:
> 
> In some very rare circumstances, using gotos does in fact 
> have a rightful
> place in code. In very long switch/case statements in C code, a _very_
> well structured (and properly named) set of labels/gotos can make code
> much cleaner, and easier to understand, than if they were not 
> used. But
> I'll say again, this is very rare.

I have to respectfully disagree. Having actively used C (among many
others) since 1986 up until now for professional development, I NEVER
found a good use for it, even in my early days. Especially in
switch/case statements ;-). It may be _very_ well structured in the
beginning, becoming a total mess with time. Never had very long
switch/case statements even on very big projects either. This is where
lookup tables with function pointers come in handy, for one.

Gennady.

> 
> Nate
> 
>