On branch main

modified:   src/ch07.md
modified:   src/ch08.md
This commit is contained in:
zed
2023-11-17 21:50:53 +03:00
parent ae709cbfc3
commit 27a1c1ddfb
2 changed files with 10 additions and 10 deletions

View File

@@ -9,7 +9,7 @@
обобщённые структуры данных (generics), которые нужны для того, чтобы
абстрагировать алгоритмы от конкретных типов данных.
В многие языках такого рода структуры реализованы при помощи специального
В многих языках такого рода структуры реализованы при помощи специального
синтаксиса и особых правил. В Zig, напротив, обобщённые структуры данных
не столько специфическая особенность, сколько демонстрация того, что
умеет делать компилятор. Конкретно, работа с обобщёными структурами

View File

@@ -1,15 +1,15 @@
# Интерфейсы
Если Вы начали изучать Zig, скорее всего, пройдёт немного времени до того
момента, когда Вы осознаете, что в нём специального синтаксиса для
создания интерфейсов. Но, вероятно, Вы заметите некоторые вещи, которые
номинально не являются таковыми, но очень на них похожи, например,
`std.mem.Allocator`. Это потому, что в Zig действительно нет простого
механизма для создания интерфейсов (например, ключевых слов `interface` и
`implements`), но, тем не менее, сам по себе язык вполне пригоден для
достижения аналогичных целей.
Если Вы начали изучать Zig, скорее всего, пройдёт совсем немного времени
до того момента, когда Вы осознаете, что в нём нет никакого специального
синтаксиса для создания интерфейсов (таких, как в Java или Go). Но,
вероятно, Вы заметите некоторые вещи, которые номинально не являются
таковыми, но очень на них похожи, например, `std.mem.Allocator`. Это
потому, что в Zig действительно нет простого механизма для создания
интерфейсов (например, ключевых слов `interface` и `implements`), но, тем
не менее, сам по себе язык вполне пригоден для достижения аналогичных
целей.
## Простая реализация интерфейса