RADS Logo

🏗️ Structs & Enums

Custom data types and enumerations

Structs

Custom data types with named fields.

structs.rads
struct Player {
    str name;
    i32 score;
    bool is_active;
}

blast main() {
    turbo Player p = Player {
        name: "Alice",
        score: 100,
        is_active: true
    };
    
    echo("Player: " + p.name);
    p.score = p.score + 50;
}

Enums

Enumerations define a type with fixed values.

enums.rads
enum GameState {
    MENU,
    PLAYING,
    PAUSED,
    GAME_OVER
}

blast main() {
    turbo GameState state = GameState.MENU;
    
    if (state == GameState.MENU) {
        echo("In menu");
    }
}

Struct Methods

Functions can take structs as parameters.

methods.rads
struct Point {
    i32 x;
    i32 y;
}

blast print_point(Point p) {
    echo("(" + p.x + ", " + p.y + ")");
}

blast main() {
    turbo Point p = Point { x: 10, y: 20 };
    print_point(p);
}