diff --git a/src/ch08.md b/src/ch08.md index 6c41923..6942d84 100644 --- a/src/ch08.md +++ b/src/ch08.md @@ -5,7 +5,7 @@ до того момента, когда вы осознаете, что в нём нет никакого специального синтаксиса для создания интерфейсов (таких, как в Java или Go). Но, вероятно, вы заметите некоторые вещи, которые номинально не являются -таковыми, но очень на них похожи, например, `std.mem.Allocator`. Это +интерфейсами, но очень на них похожи, например, `std.mem.Allocator`. Это потому, что в Zig действительно нет простого механизма для создания интерфейсов (например, ключевых слов `interface` и `implements`), но, тем не менее, сам по себе язык вполне пригоден для достижения аналогичных @@ -192,7 +192,7 @@ const File = struct { разделе схема не сработает. Иными словами, мы хотим, чтобы `File.writeAll` был нормальным методом, -без необходимости манипуляций с обобщёнными указателями, как то вот так: +без необходимости манипуляций с обобщёнными указателями, как-то вот так: ```zig fn writeAll(self: *File, data: []const u8) !void { @@ -350,10 +350,10 @@ ptr_info.Pointer.child.writeAll(self, data); вызов функции в буквальном смысле, а встроить тело функции в точку вызова. Будем надеяться, что эта глава прояснила детали конструирования -интерфейсов в Zig, а также, возможно, обрисовала такие возможности -языка, которые не были никак затронуты в предыдущих главах. -Однако, для простых случаев, когда все реализации заведомо известны, -можно применять другой подход, о чём мы поговорим в следующем разделе. +интерфейсов в Zig, а также, возможно, обрисовала такие возможности языка, +которые никак не были затронуты в предыдущих главах. Однако, для простых +случаев, когда все реализации заведомо известны, можно применять другой +подход, о чём мы и поговорим в следующем разделе. ## Использование маркированных объединений