Difference between revisions of "Goto loops"

From Scriptwiki
Jump to: navigation, search
(Added an example of a goto without looping)
m
 
(3 intermediate revisions by 2 users not shown)
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,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
 
   
 
   
Line 26: Line 26:
 
   
 
   
 
   :Nothing
 
   :Nothing
   echo -at *** Not hungry? You haven't ate anything.
+
   echo -at *** Not hungry? You haven't eaten anything.
 
  }
 
  }
 +
 +
== See Also ==
 +
* [[While loops]]
 +
 
[[Category:Commands]]
 
[[Category:Commands]]

Latest revision as of 10:09, 2 July 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 eaten anything.
}

See Also