Examples
Each example below was compiled and run with RUDRA 1.1.0.
Sum of a range
fn main() {
let mut i = 0;
let mut total = 0;
while i < 5 {
total = total + i;
i = i + 1;
}
print(total);
} Prints 10.
Factorial
fn factorial(n: int) -> int {
if n <= 1 {
return 1;
}
return n * factorial(n - 1);
}
fn main() {
print(factorial(5));
} Prints 120.
Struct and function
struct Point { x: int, y: int }
fn manhattan(p: Point) -> int {
return p.x + p.y;
}
fn main() {
let p = Point { x: 3, y: 4 };
print(manhattan(p));
} Prints 7.
Enum classification
enum Sign { Neg, Zero, Pos }
fn sign(n: int) -> Sign {
if n < 0 { return Neg; }
if n > 0 { return Pos; }
return Zero;
}
fn label(s: Sign) -> str {
match s {
Neg => { return "negative"; }
Zero => { return "zero"; }
Pos => { return "positive"; }
}
}
fn main() {
print(label(sign(-9)));
} Prints negative.