diff --git a/src/ch07.md b/src/ch07.md index 70ee189..227e431 100644 --- a/src/ch07.md +++ b/src/ch07.md @@ -9,7 +9,7 @@ обобщённые структуры данных (generics), которые нужны для того, чтобы абстрагировать алгоритмы от конкретных типов данных. -В многие языках такого рода структуры реализованы при помощи специального +В многих языках такого рода структуры реализованы при помощи специального синтаксиса и особых правил. В Zig, напротив, обобщённые структуры данных не столько специфическая особенность, сколько демонстрация того, что умеет делать компилятор. Конкретно, работа с обобщёными структурами diff --git a/src/ch08.md b/src/ch08.md index 442d2eb..e407e4c 100644 --- a/src/ch08.md +++ b/src/ch08.md @@ -1,15 +1,15 @@ # Интерфейсы -Если Вы начали изучать Zig, скорее всего, пройдёт немного времени до того -момента, когда Вы осознаете, что в нём специального синтаксиса для -создания интерфейсов. Но, вероятно, Вы заметите некоторые вещи, которые -номинально не являются таковыми, но очень на них похожи, например, -`std.mem.Allocator`. Это потому, что в Zig действительно нет простого -механизма для создания интерфейсов (например, ключевых слов `interface` и -`implements`), но, тем не менее, сам по себе язык вполне пригоден для -достижения аналогичных целей. - +Если Вы начали изучать Zig, скорее всего, пройдёт совсем немного времени +до того момента, когда Вы осознаете, что в нём нет никакого специального +синтаксиса для создания интерфейсов (таких, как в Java или Go). Но, +вероятно, Вы заметите некоторые вещи, которые номинально не являются +таковыми, но очень на них похожи, например, `std.mem.Allocator`. Это +потому, что в Zig действительно нет простого механизма для создания +интерфейсов (например, ключевых слов `interface` и `implements`), но, тем +не менее, сам по себе язык вполне пригоден для достижения аналогичных +целей. ## Простая реализация интерфейса