Loops/Do-while: Difference between revisions
Content added Content deleted
m (→{{header|Liberty BASIC}}: See also BASIC) |
No edit summary |
||
Line 3,019: | Line 3,019: | ||
Same as before. |
Same as before. |
||
</pre> |
</pre> |
||
=={{header|Vlang}}== |
|||
{{trans|go}} |
|||
There is no explicit do-while in Vlang, but it can be simulated with a range-based for loop and the break statement. |
|||
<lang go>fn main() { |
|||
mut value := 0 |
|||
for { |
|||
value++ |
|||
println(value) |
|||
if value%6 != 0 { |
|||
break |
|||
} |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre>1 |
|||
2 |
|||
3 |
|||
4 |
|||
5 |
|||
6</pre> |
|||
It can also be simulated ''without'' using a break statement as follows: |
|||
<lang vlang>fn main() { |
|||
mut value := 0 |
|||
for ok := true; ok; ok = value%6 != 0 { |
|||
value++ |
|||
println(value) |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
Same as before. |
|||
</pre> |
|||
::<lang vlang>fn main() { |
|||
// do-while loop 1 |
|||
mut n1 := 2 |
|||
for n1 < 6 { |
|||
n1 *= 2 |
|||
} |
|||
println(n1) // prt 8 |
|||
// do-while loop 2 |
|||
mut n2 := 2 |
|||
for ok := true; ok; ok = n2%8 != 0 { |
|||
n2 *= 2 |
|||
} |
|||
println(n2) // prt 8 |
|||
// do-while loop 3 |
|||
mut n3 := 2 |
|||
for { |
|||
n3 *= 2 |
|||
if n3 >= 6 { |
|||
break |
|||
} |
|||
} |
|||
println(n3) // prt 8 |
|||
}</lang> |
|||
=={{header|X86 Assembly}}== |
=={{header|X86 Assembly}}== |