Skip to content

Loops ​

In this guide, we will cover the basics of loops in Vein. Loops are fundamental structures that allow you to repeat a block of code multiple times.

Foreach Loop ​

The foreach loop is used to iterate over the elements of a collection or array.

Syntax ​

vein
foreach (auto element in collection) {
    // Code to execute for each element
}

Example ​

vein
auto numbers = [1, 2, 3, 4, 5];

foreach (auto number in numbers) {
    Out.println(number);
}

In this example, each element in the numbers array is printed on a new line.

For Loop ​

The for loop is used to execute a block of code a specific number of times. It consists of three parts: initialization, condition, and iteration expression.

Syntax ​

vein
for (initialization; condition; iteration) {
    // Code to execute for each iteration
}

Example ​

vein
for (auto i: i32 = 0; i < 5; i = i + 1) {
    Out.println(i);
}

In this example, the loop starts with i equal to 0 and runs until i is less than 5. After each iteration, i is incremented by 1.

While Loop ​

The while loop is used to repeat a block of code as long as a specified condition is true.

Syntax ​

vein
while (condition) {
    // Code to execute while the condition is true
}

Example ​

vein
auto count: i32 = 0;

while (count < 5) {
    Out.println(count);
    count = count + 1;
}

In this example, the loop continues to execute as long as count is less than 5. After each iteration, count is incremented by 1.

Nested Loops ​

You can also nest loops within other loops to create more complex looping structures.

Example ​

vein
for (auto i: i32 = 0; i < 3; i = i + 1) {
    for (auto j: i32 = 0; j < 3; j = j + 1) {
        Out.println("i: " + i + ", j: " + j);
    }
}

In this example, for each iteration of the outer for loop, the inner for loop runs from 0 to 2, printing the values of i and j.

Conclusion ​

Using loops such as foreach, for, and while allows you to perform repetitive tasks efficiently in Vein. Understanding how to use these loops will enable you to handle iterating over collections and executing code multiple times more effectively.