hey
commit
4ec36e3cf0
@ -0,0 +1 @@
|
||||
zig-cache
|
@ -0,0 +1,6 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn main() void {
|
||||
std.debug.print("Hello, {}!\n", .{"World"});
|
||||
}
|
||||
|
@ -0,0 +1,94 @@
|
||||
const expect = @import("std").testing.expect;
|
||||
|
||||
test "if statement" {
|
||||
const a = true;
|
||||
var x: u16 = 0;
|
||||
if (a) {
|
||||
x += 1;
|
||||
} else {
|
||||
x += 2;
|
||||
}
|
||||
expect(x == 1);
|
||||
}
|
||||
|
||||
test "if statement expression" {
|
||||
const a = true;
|
||||
var x: u16 = 0;
|
||||
x += if (a) 1 else 2;
|
||||
expect(x == 1);
|
||||
}
|
||||
|
||||
test "while" {
|
||||
var i: u8 = 2;
|
||||
while (i < 100) {
|
||||
i *= 2;
|
||||
}
|
||||
expect(i == 128);
|
||||
}
|
||||
|
||||
test "while with continue expression" {
|
||||
var sum: u8 = 0;
|
||||
var i: u8 = 1;
|
||||
while (i <= 10) : (i += 1) {
|
||||
sum += i;
|
||||
}
|
||||
expect(sum == 55);
|
||||
}
|
||||
|
||||
test "while with continue" {
|
||||
var sum: u8 = 0;
|
||||
var i: u8 = 0;
|
||||
while (i <= 3) : (i += 1) {
|
||||
if (i == 2) continue;
|
||||
sum += i;
|
||||
}
|
||||
expect(sum == 4);
|
||||
}
|
||||
|
||||
test "while with break" {
|
||||
var sum: u8 = 0;
|
||||
var i: u8 = 0;
|
||||
while (i <= 3) : (i += 1) {
|
||||
if (i == 2) break;
|
||||
sum += i;
|
||||
}
|
||||
expect(sum == 1);
|
||||
}
|
||||
|
||||
test "for" {
|
||||
const string = [_]u8{ 'a', 'b', 'c' };
|
||||
|
||||
for (string) |character, index| {}
|
||||
for (string) |character| {}
|
||||
for (string) |_, index| {}
|
||||
for (string) |_| {}
|
||||
}
|
||||
|
||||
fn addFive(x: u32) u32 {
|
||||
return x + 5;
|
||||
}
|
||||
|
||||
test "function" {
|
||||
const y = addFive(0);
|
||||
expect(@TypeOf(y) == u32);
|
||||
expect(y == 5);
|
||||
}
|
||||
|
||||
fn fibonacci(n: u16) u16 {
|
||||
if (n == 0 or n == 1) return n;
|
||||
return fibonacci(n - 1) + fibonacci(n - 2);
|
||||
}
|
||||
|
||||
test "function recursion" {
|
||||
const x = fibonacci(10);
|
||||
expect(x == 55);
|
||||
}
|
||||
|
||||
test "defer" {
|
||||
var x: i16 = 5;
|
||||
{
|
||||
defer x += 2;
|
||||
expect(x == 5);
|
||||
}
|
||||
expect(x == 7);
|
||||
}
|
Loading…
Reference in New Issue