From 7118e638dcd88b7ba48bb0c39f820abcfba2ac4b Mon Sep 17 00:00:00 2001 From: zed Date: Fri, 24 Nov 2023 16:49:24 +0300 Subject: [PATCH] On branch main modified: src/ch01.md modified: src/ch08.md --- src/ch01.md | 4 ++-- src/ch08.md | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/ch01.md b/src/ch01.md index 8f2e315..f6709d6 100644 --- a/src/ch01.md +++ b/src/ch01.md @@ -99,10 +99,10 @@ const MAX_POWER = user.MAX_POWER; Скорее всего, на данный момент у вас больше вопросов, чем ответов. Что такое `user` в приведенном отрывке? Хотя мы ещё не знакомы с ключевым словом `var`, но тем не менее можно спросить, а что, если вместо `const` -использовать `var`? Или. возможно, у вас возник вопрос по поводу +использовать `var`? Или, возможно, у вас возник вопрос по поводу использования сторонних библиотек. Это всё хорошие вопросы, но чтобы ответить на них, нам нужно глубже изучить Zig, а пока нам придётся -обойтись тем, что мы уже знаем, а именно: +обойтись тем, что мы уже знаем, а именно: * как импортировать стандартную библиотеку (`const std = @import("std");`) * как импортировать свои собственные файлы (`const user = @import(models/user.zig)`) diff --git a/src/ch08.md b/src/ch08.md index 2dcc51e..d8bd427 100644 --- a/src/ch08.md +++ b/src/ch08.md @@ -11,7 +11,7 @@ не менее, сам по себе язык вполне пригоден для достижения аналогичных целей. -## Простой интерфейс и его реализация +## Простой интерфейс и пример его реализации Мы сейчас сконструируем некий интерфейс, который будет называться `Writer`. Он будет достаточно прост для понимания сути дела и будет @@ -30,13 +30,14 @@ const Writer = struct { ``` Это вполне себе законченный интерфейс. Это структура, в которой два поля, -`ptr` (это указатель на *нечто*, что этот интерфейс реализует, -а про `*anyopaque` мы вскоре поговорим) и `writeAllFn`, это -указатель на функцию, которая реализует данный метод. +`ptr` (это указатель на *нечто*, что этот интерфейс реализует, а про +`*anyopaque` мы вскоре поговорим) и `writeAllFn`, это указатель на +функцию, которая реализует данный метод. -Заметим, что функция `writeAll`, входящая в состав нашей структуры-интерфейса, -просто вызывает реализацию по указателю `writeAllFn`, передавая ей, -наряду с другими параметрами, указатель `ptr`. +Заметим, что функция `writeAll`, входящая в состав нашей +структуры-интерфейса, просто вызывает реализацию по указателю +`writeAllFn`, передавая ей, наряду с другими параметрами, указатель +`ptr`. Теперь скелет того самого нечто, что реализует данный интерфейс: