Difference between revisions of "Goto loops"

From Scriptwiki
Jump to: navigation, search
m (changed example to a loop..)
m
 
(7 intermediate revisions by 3 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
   [inc] %i
+
   [[inc]] %i
   [if] (%i > [$chan](0)) { [return] %chans }
+
   [[if]] (%i > [[$chan]](0)) { [[return]] %chans }
 
   var %chans = %chans $chan(%i)
 
   var %chans = %chans $chan(%i)
   [goto] nexti
+
   [[Goto loops|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-|$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 ==
 +
* [[While loops]]
 +
 +
[[Category:Commands]]

Latest revision as of 09: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