Difference between revisions of "Goto loops"
From Scriptwiki
m (heh [ ] -> [[ ]]) |
m |
||
(6 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 | ||
Line 8: | Line 8: | ||
[[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. }