Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

edited #69

Merged
merged 1 commit into from May 26, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 6 additions & 6 deletions modules/10-basics/60-attributes/description.ru.yml
Expand Up @@ -2,7 +2,7 @@
name: Атрибуты
theory: |

Иногда, в модуле нужно вынести какие-либо значения в константы, для этого используются атрибуты, начинающиеся со знака `@`.
Иногда в модуле нужно вынести значения в константы. Для этого используются атрибуты, которые начинаются со знака `@`:

```elixir
defmodule MyModule do
Expand All @@ -16,7 +16,7 @@ theory: |
MyModule.do_magic(10) # 80
```

Атрибуты модуля недоступны снаружи модуля.
Атрибуты модуля недоступны снаружи модуля:

```elixir
defmodule MyModule do
Expand All @@ -26,7 +26,7 @@ theory: |
MyModule.@magic_number # возникнет ошибка
```

Атрибуты можно объявлять несколько раз и перезаписывать, однако стоит понимать, что компилятор подставляет последнее значение объявленного атрибута, например:
Атрибуты можно объявлять несколько раз и перезаписывать. При этом стоит понимать, что компилятор подставляет последнее значение объявленного атрибута, например:

```elixir
defmodule MyModule do
Expand Down Expand Up @@ -63,7 +63,7 @@ theory: |
end
```

Внутри модулей есть еще специальные атрибуты, которые используются эликсиром для генерации документации, например атрибут `@moduledoc`, в котором описывается общая информация о модуле или `@doc`, которым документируется объявленная функция:
Еще внутри модулей есть специальные атрибуты, которые используются эликсиром для генерации документации. Например, атрибут `@moduledoc`, в котором описывается общая информация о модуле, или `@doc`, которым документируется объявленная функция:

```elixir
defmodule MyModule do
Expand All @@ -78,9 +78,9 @@ theory: |
end
```

Затем, эти атрибуты используются в генерации документации.
Затем эти атрибуты используются в генерации документации.

Еще можно заставить атрибут модуля при перезаписи накапливаться, с помощью специального объявления, например:
Еще с помощью специального объявления можно заставить атрибут модуля при перезаписи накапливаться, например:

```elixir
defmodule MyModule do
Expand Down