On branch main
modified: src/ch08.md
This commit is contained in:
12
src/ch08.md
12
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, а также, возможно, обрисовала такие возможности языка,
|
||||
которые никак не были затронуты в предыдущих главах. Однако, для простых
|
||||
случаев, когда все реализации заведомо известны, можно применять другой
|
||||
подход, о чём мы и поговорим в следующем разделе.
|
||||
|
||||
## Использование маркированных объединений
|
||||
|
||||
|
||||
Reference in New Issue
Block a user