Link Search Menu Expand Document

Control Flow

Table of contents

  1. If statement
  2. Switch Statement
    1. Default
    2. Multi-Value Case
  3. Loops
    1. While loop
    2. For loop
    3. Continue statement
    4. Break statement

If statement

if (false or true) {
    var variable = "Hello";
    print(variable);  // Print is a native function so parenthesis are required
}

// Single line if statement body does not require braces
if (true)
    print("Hello");
    
if (false)
    print("Not going to print!");
else
    print("Will print!");
    
    
var x = 5;
if (x == 6) {
    print("Not going to print!");
} else if (x == 5) {
    print("Will print!");
} else {
    print("Not going to print!");
}

Switch Statement

A switch statement can be seen as a more maintainable if/else if chain. It evaluates an expression and then enters a case block depending upon if the expression matches the expression of the case block.

The value supplied to a case block can be of any type and follows the same rules of equality as the == operator.

switch (10) {
    case 1: {
        // 10 doesn't equal 1, so this is skipped.
    }

    case 10: {
        // Match! This block of code is executed!
    }
}

Default

Sometimes there may be a need for a bit of code to be executed if none of the case blocks match the expression of the switch statement. This is where the default block comes into play.

switch ("string") {
    case "nope": {

    }

    case "nope again!": {

    }

    default: {
        // This will get executed!
    }
}

Multi-Value Case

Sometimes we need to execute a block of code based on a set of values. This is easily done by just supplying a comma separated list of values to the case block.

switch (10) {
    case 1, 3, 5, 7, 9: {
        // 10 doesn't equal any of the supplied values, this is skipped.
    }

    case 0, 2, 4, 6, 8, 10: {
        // Match! This block of code is executed!
    }
}

Loops

While loop

// While loop
var i = 0;
while (i < 10) {
    print(i);
    i += 1;
}

Dictu also implements syntactic sugar for a while true loop.

// While 'true' loop
// If no expression is made, true is implicitly assumed
while {
    print("Hello");
    sleep(1);
}

For loop

// For loop
for (var i = 0; i < 10; i += 1) {
    print(i);
}

Continue statement

Continue allows execution of a loop to restart prematurely.

// For loop
for (var i = 0; i < 10; i += 1) {
    if (i % 2 == 0)
        continue; // Skip all even numbers

    print(i); // Only odd numbers will be printed
}

Break statement

Break allows execution of a loop to stop prematurely.

// For loop
for (var i = 0; i < 10; i += 1) {
    if (i > 5)
        break; // Exit the loop here

    print(i); // Only numbers less than or equal to 5 will be printed
}

This site uses Just The Docs, with modifications.