From 664fb6b78740d1ce2b8b7e5673edfc0f2c53c425 Mon Sep 17 00:00:00 2001 From: zed Date: Thu, 9 Nov 2023 12:27:10 +0300 Subject: [PATCH] On branch main modified: src/ch01.md new file: src/ex-ch01-01.zig --- src/ch01.md | 24 +++++++++++++++++++++++- src/ex-ch01-01.zig | 17 +++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/ex-ch01-01.zig diff --git a/src/ch01.md b/src/ch01.md index 09db9eb..d558030 100644 --- a/src/ch01.md +++ b/src/ch01.md @@ -13,7 +13,7 @@ Zig позаимствовал символ `;` как символ, завер ```zig const std = @import("std"); -// Если убрать слово 'pub', то этот код не откомпилируется +// Если тут убрать слово 'pub', то этот код не откомпилируется pub fn main() void { const user = User{ .power = 9001, @@ -28,3 +28,25 @@ pub const User = struct { name: []const u8, }; ``` + +Сохраните этот исходный текст в файл с именем `ex-ch01-01.zig` и запустите его следующим образом: + +``` +zig ex-ch01-01.zig +``` + +Вы должны увидеть + +``` +Пётр обладает силой 9001 +``` + +Этот пример достаточно простой, чтобы более-менее понять его, даже если Вы раньше +никогда не видели исходных текстов на языке Zig. Тем не менее, далее мы разберём его построчно. + +## Импортирование библиотек + +Редко когда бывает, что исходные тексты программа содержатся в одном-единственном файле +и при этом программа не использует никакие библиотеки. Наша первая программа также не +является исключением - она использует стандартную библиотеку Zig для того, чтобы напечатать +строчку, которую мы только что видели. diff --git a/src/ex-ch01-01.zig b/src/ex-ch01-01.zig new file mode 100644 index 0000000..45324c5 --- /dev/null +++ b/src/ex-ch01-01.zig @@ -0,0 +1,17 @@ + +const std = @import("std"); + +// Если тут убрать слово 'pub', то этот код не откомпилируется +pub fn main() void { + const user = User{ + .power = 9001, + .name = "Пётр", + }; + + std.debug.print("{s} обладает силой {d}\n", .{user.name, user.power}); +} + +pub const User = struct { + power: u64, + name: []const u8, +};