Difference between revisions of "Goto loops"

From Scriptwiki
Jump to: navigation, search
m (added links)
m (a bit more clear for beginners)
Line 13: Line 13:
 
Sometimes you may wish to use goto not in connection with 'loops', an example of which is below:
 
Sometimes you may wish to use goto not in connection with 'loops', an example of which is below:
 
  alias Eat {
 
  alias Eat {
   if ([[$istok]](Apples:Pears:Nothing,$1,85)) goto [[$1-|$1]]
+
   if ([[$istok]](Apples Pears Nothing,$1,32)) goto [[$1-|$1]]
 
   [[echo]] -at *** You don't fancy anything to eat? I don't know what $1 is.
 
   [[echo]] -at *** You don't fancy anything to eat? I don't know what $1 is.
 
   return
 
   return

Revision as of 20:04, 16 May 2007

You can use goto command to jump from one point to another in a script.
Goto's aren't used very much.

alias channels {
  var %i , %chans 
  :nexti
  inc %i
  if (%i > $chan(0)) { return %chans }
  var %chans = %chans $chan(%i)
  goto nexti
}

Sometimes you may wish to use goto not in connection with 'loops', an example of which is below:

alias Eat {
  if ($istok(Apples Pears Nothing,$1,32)) goto $1
  echo -at *** You don't fancy anything to eat? I don't know what $1 is.
  return

  :Apples
  echo -at *** You just ate an apple!
  return

  :Pears
  echo -at *** You just ate a pear!
  return

  :Nothing
  echo -at *** Not hungry? You haven't ate anything.
}