From a2d27deaf248ba10b34a9992c1ce4887c99e362b Mon Sep 17 00:00:00 2001 From: xihale Date: Fri, 7 Aug 2026 11:40:57 +0800 Subject: [PATCH 1/3] =?UTF-8?q?docs:=20=E6=95=B0=E7=BB=84=E7=AB=A0?= =?UTF-8?q?=E8=8A=82=E4=BD=BF=E7=94=A8=20comptime=20=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E5=9D=97=E5=88=9D=E5=A7=8B=E5=8C=96=20fancy=5Farray?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- course/code/11/array.zig | 2 +- course/code/12/array.zig | 2 +- course/code/14/array.zig | 2 +- course/code/15/array.zig | 2 +- course/code/16/array.zig | 2 +- course/code/release/array.zig | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/course/code/11/array.zig b/course/code/11/array.zig index f48f874e..90e4a3c5 100644 --- a/course/code/11/array.zig +++ b/course/code/11/array.zig @@ -145,7 +145,7 @@ const ComptimeInitArray = struct { const print = @import("std").debug.print; 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; diff --git a/course/code/12/array.zig b/course/code/12/array.zig index d0d924e8..2f9cfd14 100644 --- a/course/code/12/array.zig +++ b/course/code/12/array.zig @@ -101,7 +101,7 @@ const ComptimeInitArray = struct { const print = @import("std").debug.print; 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; diff --git a/course/code/14/array.zig b/course/code/14/array.zig index 31b44246..2a45da7a 100644 --- a/course/code/14/array.zig +++ b/course/code/14/array.zig @@ -123,7 +123,7 @@ const ComptimeInitArray = struct { const print = @import("std").debug.print; 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; diff --git a/course/code/15/array.zig b/course/code/15/array.zig index 06c48ccb..5ed8df38 100644 --- a/course/code/15/array.zig +++ b/course/code/15/array.zig @@ -123,7 +123,7 @@ const ComptimeInitArray = struct { const print = @import("std").debug.print; 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; diff --git a/course/code/16/array.zig b/course/code/16/array.zig index 06c48ccb..5ed8df38 100644 --- a/course/code/16/array.zig +++ b/course/code/16/array.zig @@ -123,7 +123,7 @@ const ComptimeInitArray = struct { const print = @import("std").debug.print; 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; diff --git a/course/code/release/array.zig b/course/code/release/array.zig index 06c48ccb..5ed8df38 100644 --- a/course/code/release/array.zig +++ b/course/code/release/array.zig @@ -123,7 +123,7 @@ const ComptimeInitArray = struct { const print = @import("std").debug.print; 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; From 527fb473bff0aeaaf64ee344769f2fa84d7c8bec Mon Sep 17 00:00:00 2001 From: xihale Date: Fri, 7 Aug 2026 13:05:47 +0800 Subject: [PATCH 2/3] =?UTF-8?q?docs:=20=E6=95=B0=E7=BB=84=E7=AB=A0?= =?UTF-8?q?=E8=8A=82=E5=9C=A8=20comptime=20=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E5=90=8E=E6=B7=BB=E5=8A=A0=E7=BC=96=E8=AF=91=E6=9C=9F=E6=96=AD?= =?UTF-8?q?=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- course/code/11/array.zig | 2 ++ course/code/12/array.zig | 2 ++ course/code/14/array.zig | 2 ++ course/code/15/array.zig | 2 ++ course/code/16/array.zig | 2 ++ course/code/release/array.zig | 2 ++ 6 files changed, 12 insertions(+) diff --git a/course/code/11/array.zig b/course/code/11/array.zig index 90e4a3c5..b1b33c5d 100644 --- a/course/code/11/array.zig +++ b/course/code/11/array.zig @@ -143,6 +143,7 @@ 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 = comptime init: { @@ -152,6 +153,7 @@ const ComptimeInitArray = struct { } 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 2f9cfd14..40897344 100644 --- a/course/code/12/array.zig +++ b/course/code/12/array.zig @@ -99,6 +99,7 @@ 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 = comptime init: { @@ -108,6 +109,7 @@ const ComptimeInitArray = struct { } 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 2a45da7a..d6a80ffd 100644 --- a/course/code/14/array.zig +++ b/course/code/14/array.zig @@ -121,6 +121,7 @@ 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 = comptime init: { @@ -130,6 +131,7 @@ const ComptimeInitArray = struct { } 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 5ed8df38..227f1a60 100644 --- a/course/code/15/array.zig +++ b/course/code/15/array.zig @@ -121,6 +121,7 @@ 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 = comptime init: { @@ -130,6 +131,7 @@ const ComptimeInitArray = struct { } 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 5ed8df38..227f1a60 100644 --- a/course/code/16/array.zig +++ b/course/code/16/array.zig @@ -121,6 +121,7 @@ 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 = comptime init: { @@ -130,6 +131,7 @@ const ComptimeInitArray = struct { } 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 5ed8df38..227f1a60 100644 --- a/course/code/release/array.zig +++ b/course/code/release/array.zig @@ -121,6 +121,7 @@ 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 = comptime init: { @@ -130,6 +131,7 @@ const ComptimeInitArray = struct { } break :init initial_value; }; + comptime assert(fancy_array[9] == 9); print("{any}\n", .{fancy_array}); } // #endregion comptime_init_array From fd4b40f1b51743bdc8e9f0ab1c008d12fe34a2a2 Mon Sep 17 00:00:00 2001 From: xihale Date: Fri, 7 Aug 2026 17:26:10 +0800 Subject: [PATCH 3/3] =?UTF-8?q?docs:=20=E6=95=B0=E7=BB=84=E7=AB=A0?= =?UTF-8?q?=E8=8A=82=E6=B7=BB=E5=8A=A0=20Compiler=20Explorer=20=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E8=BF=90=E8=A1=8C=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- course/basic/advanced_type/array.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) 在线运行该示例查看结果。