Difference between revisions of "Goto loops"

From Scriptwiki
Jump to: navigation, search
(Added an example of a goto without looping)
m (added links)
Line 2: Line 2:
 
Goto's aren't used very much.
 
Goto's aren't used very much.
  
  alias channels {
+
  [[alias]] channels {
 
   [[var]] %i , %chans  
 
   [[var]] %i , %chans  
 
   :nexti
 
   :nexti
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
+
   if ([[$istok]](Apples:Pears:Nothing,$1,85)) 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 13:51, 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,85)) 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.
}