From ee9b8fc921f48dc893808e1c9dbfbef321aa362c Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sun, 28 Feb 2021 17:18:03 +0700 Subject: [lang/zig] Learn some Zig --- lang/zig/while-inline.zig | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 lang/zig/while-inline.zig (limited to 'lang/zig/while-inline.zig') diff --git a/lang/zig/while-inline.zig b/lang/zig/while-inline.zig new file mode 100644 index 0000000..2af1160 --- /dev/null +++ b/lang/zig/while-inline.zig @@ -0,0 +1,20 @@ +const expect = @import("std").testing.expect; + +fn typeNameLength(comptime T: type) usize { + return @typeName(T).len; +} + +test "inline while loop" { + comptime var i = 0; + var sum: usize = 0; + inline while (i < 3) : (i += 1) { + const T = switch (i) { + 0 => f32, + 1 => i8, + 2 => bool, + else => unreachable, + }; + sum += typeNameLength(T); + } + expect(sum == 9); +} -- cgit 1.4.1