From WikiChip
Editing mirc/while loops
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | {{ | + | {{mIRC Guide}} |
− | In many occasions, you may end up doing a task over and over again in a single script (For example, counting from 0 to 10, or sending a message to multiple people or channels). A '''while loop''' is a control flow statement that allows code to be executed repeatedly based on a given condition. The code inside the while loop block will get executed as long as the condition is true. | + | In many occasions, you may end up doing a task over and over again in a single script (For example, counting from 0 to 10, or sending a message to multiple people or channels). A '''while loop''' is a control flow statement that allows code to be executed repeatedly based on a given condition. The code inside the while loop block will get executed as long as the condition is $true. |
== Syntax == | == Syntax == | ||
Line 11: | Line 11: | ||
Here is how the while loop works: | Here is how the while loop works: | ||
− | #The conditional statement is checked | + | #The conditional statement is checked.<br />If the statement is true, continue on to step 2.<br />If the statement is false go to step 4. |
#The code inside the while loop (inside the brackets) is executed. | #The code inside the while loop (inside the brackets) is executed. | ||
#The entire process starts all over again. Going back to step 1. | #The entire process starts all over again. Going back to step 1. | ||
#If the statement was false.<br />No code inside the while loop is executed and the script skips right down to any code below it. | #If the statement was false.<br />No code inside the while loop is executed and the script skips right down to any code below it. | ||
− | === true conditions === | + | === $true conditions === |
− | So we said the while loop will continue to iterate as long as the condition is true. But what exactly does that mean? In mSL, a condition is true if the outcome of the condition is NOT 0, | + | So we said the while loop while loop will continue to iterate as long as the condition is $true. But what exactly does that mean? In mSL, a condition is true if the outcome of the condition is NOT 0, $null, or $false. For example let %x be 5, if the condition is while ($calc(%x - 5)) {, since 5-5 is 0, the while loop's condition is false, thus it will not execute any code inside it. |
− | |||
− | |||
==== Example 1 ==== | ==== Example 1 ==== | ||
Line 59: | Line 57: | ||
== Nested Loops == | == Nested Loops == | ||
− | A ''nested loop'' is a loop | + | A ''nested loop'' is a loop is situated within the body of the other. In a nested loop, the first iteration of the outer loop causes the inner loop to execute. The inner loop will execute its body as long as its condition is true. Upon completion the outer loop executes again, causing the inner loop to execute again. This sequence of events will keep on executing until the outer loop is complete. There is no limit to how many loops can be nested inside each other. |
Take a look at this example: | Take a look at this example: | ||
Line 95: | Line 93: | ||
mIRC support the following types of statements: | mIRC support the following types of statements: | ||
− | *The | + | *The break statement |
− | *The | + | *The continue statement |
− | *The | + | *The return statement |
− | *The | + | *The goto statement |
− | '''Note:''' In this tutorial, we will not cover the | + | '''Note:''' In this tutorial, we will not cover the /return or the /goto commands. |
==== break statement ==== | ==== break statement ==== | ||
Line 168: | Line 166: | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
− | In the example above we created a loop to go from 0 to 20. The if statement checks if the number is odd. If true, we make it jump to the next iteration (Via the | + | In the example above we created a loop to go from 0 to 20. The if statement checks if the number is odd. If true, we make it jump to the next iteration (Via the /continue command). The last statement of the loop's body is used to print the number. |
The output is: | The output is: | ||
Line 204: | Line 202: | ||
== Infinite Loops == | == Infinite Loops == | ||
− | An infinite loop happens when a condition always evaluates to true. Most times, its due to an error. If that's the case, you can force mIRC to break out of it using the '''Ctrl+Break''' key combinations. | + | An infinite loop happens when a condition always evaluates to true. Most times, its due to an error. If that's the case, you can force mIRC to break out of it using the '''Ctrl+Break''' key combinations. In some, very rare occasions, you might want to create an infinite loop on purpose: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <syntaxhighlight lang="mirc">while (1) { | |
− | + | ;code | |
− | + | }</syntaxhighlight> | |
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
− | |||
− | |||
− | |||
− |