diff --git a/course/basic/advanced_type/array.md b/course/basic/advanced_type/array.md index 39097f94..2e804dde 100644 --- a/course/basic/advanced_type/array.md +++ b/course/basic/advanced_type/array.md @@ -94,4 +94,4 @@ outline: deep <<<@/code/release/array.zig#comptime_init_array -在这个示例中,我们利用编译期执行的特性来初始化数组,并结合了 `blocks` 和 `break` 的用法。关于这些,我们将在[循环](/basic/process_control/loop)章节中详细讲解。 +在这个示例中,我们利用编译期执行的特性来初始化数组,并结合了 `blocks` 和 `break` 的用法。关于这些,我们将在[循环](/basic/process_control/loop)章节中详细讲解。你也可以通过 [Compiler Explorer](https://godbolt.org/z/oWdjqajPa) 在线运行该示例查看结果。 diff --git a/course/code/11/array.zig b/course/code/11/array.zig index f48f874e..b1b33c5d 100644 --- a/course/code/11/array.zig +++ b/course/code/11/array.zig @@ -143,15 +143,17 @@ const FuncInitArray = struct { const ComptimeInitArray = struct { // #region comptime_init_array const print = @import("std").debug.print; + const assert = @import("std").debug.assert; pub fn main() void { - const fancy_array = init: { + const fancy_array = comptime init: { var initial_value: [10]usize = undefined; for (&initial_value, 0..) |*pt, i| { pt.* = i; } break :init initial_value; }; + comptime assert(fancy_array[9] == 9); print("{any}\n", .{fancy_array}); } // #endregion comptime_init_array diff --git a/course/code/12/array.zig b/course/code/12/array.zig index d0d924e8..40897344 100644 --- a/course/code/12/array.zig +++ b/course/code/12/array.zig @@ -99,15 +99,17 @@ const FuncInitArray = struct { const ComptimeInitArray = struct { // #region comptime_init_array const print = @import("std").debug.print; + const assert = @import("std").debug.assert; pub fn main() void { - const fancy_array = init: { + const fancy_array = comptime init: { var initial_value: [10]usize = undefined; for (&initial_value, 0..) |*pt, i| { pt.* = i; } break :init initial_value; }; + comptime assert(fancy_array[9] == 9); print("{any}\n", .{fancy_array}); } // #endregion comptime_init_array diff --git a/course/code/14/array.zig b/course/code/14/array.zig index 31b44246..d6a80ffd 100644 --- a/course/code/14/array.zig +++ b/course/code/14/array.zig @@ -121,15 +121,17 @@ const FuncInitArray = struct { const ComptimeInitArray = struct { // #region comptime_init_array const print = @import("std").debug.print; + const assert = @import("std").debug.assert; pub fn main() void { - const fancy_array = init: { + const fancy_array = comptime init: { var initial_value: [10]usize = undefined; for (&initial_value, 0..) |*pt, i| { pt.* = i; } break :init initial_value; }; + comptime assert(fancy_array[9] == 9); print("{any}\n", .{fancy_array}); } // #endregion comptime_init_array diff --git a/course/code/15/array.zig b/course/code/15/array.zig index 06c48ccb..227f1a60 100644 --- a/course/code/15/array.zig +++ b/course/code/15/array.zig @@ -121,15 +121,17 @@ const FuncInitArray = struct { const ComptimeInitArray = struct { // #region comptime_init_array const print = @import("std").debug.print; + const assert = @import("std").debug.assert; pub fn main() void { - const fancy_array = init: { + const fancy_array = comptime init: { var initial_value: [10]usize = undefined; for (&initial_value, 0..) |*pt, i| { pt.* = i; } break :init initial_value; }; + comptime assert(fancy_array[9] == 9); print("{any}\n", .{fancy_array}); } // #endregion comptime_init_array diff --git a/course/code/16/array.zig b/course/code/16/array.zig index 06c48ccb..227f1a60 100644 --- a/course/code/16/array.zig +++ b/course/code/16/array.zig @@ -121,15 +121,17 @@ const FuncInitArray = struct { const ComptimeInitArray = struct { // #region comptime_init_array const print = @import("std").debug.print; + const assert = @import("std").debug.assert; pub fn main() void { - const fancy_array = init: { + const fancy_array = comptime init: { var initial_value: [10]usize = undefined; for (&initial_value, 0..) |*pt, i| { pt.* = i; } break :init initial_value; }; + comptime assert(fancy_array[9] == 9); print("{any}\n", .{fancy_array}); } // #endregion comptime_init_array diff --git a/course/code/release/array.zig b/course/code/release/array.zig index 06c48ccb..227f1a60 100644 --- a/course/code/release/array.zig +++ b/course/code/release/array.zig @@ -121,15 +121,17 @@ const FuncInitArray = struct { const ComptimeInitArray = struct { // #region comptime_init_array const print = @import("std").debug.print; + const assert = @import("std").debug.assert; pub fn main() void { - const fancy_array = init: { + const fancy_array = comptime init: { var initial_value: [10]usize = undefined; for (&initial_value, 0..) |*pt, i| { pt.* = i; } break :init initial_value; }; + comptime assert(fancy_array[9] == 9); print("{any}\n", .{fancy_array}); } // #endregion comptime_init_array