92b60a251d
* annotating APIs to support onstart * missed file * updated templates * adding new lines in main.ts * fixing docs * removing onstart * updated docs * updated various docs * more docs * adding upgrade policies for blocks * updated pxt reference * placing on start under "basic"
32 lines
949 B
Markdown
32 lines
949 B
Markdown
# While
|
|
|
|
Repeat code while a [Boolean](/blocks/logic/boolean) `condition` is true.
|
|
|
|
```block
|
|
while(true) {
|
|
}
|
|
```
|
|
|
|
The while loop has a *condition* that evaluates to a [Boolean](/blocks/logic/boolean) value. After the `do` keyword, add the code that you want to run while the `condition` is `true`. The while loop concludes with `end while`.
|
|
|
|
The condition is tested before any code runs. Which means that if the condition is false, the code inside the loop doesn't execute.
|
|
|
|
### Example: diagonal line
|
|
|
|
The following example uses a while loop to make a diagonal line on the LED screen (points `0, 0`, `1, 1`, `2, 2`, `3, 3`, `4, 4`).
|
|
|
|
```blocks
|
|
input.onButtonPressed(Button.A, () => {
|
|
let index = 4;
|
|
while(index >= 0) {
|
|
led.plot(index, index);
|
|
index--;
|
|
}
|
|
})
|
|
```
|
|
|
|
### See also
|
|
|
|
[on button pressed](/reference/input/on-button-pressed), [for](/blocks/loops/for), [if](/blocks/logic/if), [forever](/reference/basic/forever)
|
|
|