# do proc

Source: https://ref.dm-lang.org/proc/do

### Format
> `do Statement while( E )`

Execute Statement. If E is true (non-zero) do it over again. Continue until E is false (zero).

Statement may be a block of code or a single statement.

```dm /do/
var/i = 3
do
  world << i--
while(i)
```

This outputs:

```dm /do/
3
2
1
```

### See also
- [break statement](https://ref.dm-lang.org/proc/break.md)
- [continue statement](https://ref.dm-lang.org/proc/continue.md)
- [for loop proc](https://ref.dm-lang.org/proc/for/loop.md)
- [while proc](https://ref.dm-lang.org/proc/while.md)
