# Массивы

Здесь описаны операторы и функции для работы с массивами **arr**. Запись **arr.typename** означает, что вы можете указать любой тип, но в случае бинарного оператора, этот тип должен быть одинаковым у обоих массивов.

* [bool( arr.typename a ) bool](/stdlib/array.md#bool-arr-typename-a-bool)
* [Join( arr.str a, str sep ) str](/stdlib/array.md#join-arr-str-a-str-sep-str)
* [Reverse( arr.typename a ) arr.typename](/stdlib/array.md#reverse-arr-typename-a-arr-typename)
* [Slice( arr.typename a, int start, int end ) arr.typename](/stdlib/array.md#slice-arr-typename-a-int-start-int-end-arr-typename)
* [Sort( arr.str a ) arr.str](/stdlib/array.md#sort-arr-str-a-arr-str)

## Операторы

| Оператор                             | Результат        | Описание                                                                       |
| ------------------------------------ | ---------------- | ------------------------------------------------------------------------------ |
| **\*** arr.typename                  | int              | Возвращает количество элементов в массиве.                                     |
| arr.typename **?**                   | bool             | Вызов *bool(arr.typename)*.                                                    |
| arr.typename **=** arr.typename      | arr.typename     | Присваивание.                                                                  |
| arr.typename **&=** arr.typename     | arr.typename     | Создать клон массива. Новая переменная будет работать с тем же набором данных. |
| arr.typename **+=** arr.typename     | arr.typename     | Добавляет элементы из одного массива к другому.                                |
| arr.str **+=** str                   | arr.str          | Добавление строки к массиву строк.                                             |
| arr.int **+=** int                   | arr.int          | Добавление целого числа к массиву чисел.                                       |
| arr.bool **+=** bool                 | arr.bool         | Добавление логического значения к массиву логических значений.                 |
| arr.arr.typename **+=** arr.typename | arr.arr.typename | Добавление массива к массиву массивов.                                         |
| arr.map.typename **+=** map.typename | arr.map.typename | Добавление ассоциативного массива к массиву ассоциативных массивов.            |
| arr.typename **\[** int **]**        | typename         | Присвоить/получить значение массива по индексу.                                |

## Функции

### bool(arr.typename a) bool

Функция *bool* возвращает *false*, если массив пустой. В противном случае, возвращается *true*.

### Join(arr.str a, str sep) str

Функция *Join* объединяет строки массива в одну строку. Разделительная строка *sep* вставляется между строками массива.

### Reverse( arr.typename a ) arr.typename

Функция *Reverse* меняет порядок элементов в массиве на противоположный и возвращает этот массив.

### Slice( arr.typename a, int start, int end ) arr.typename

Функция *Slice* создает новый массив с элементами от *start* (включая) до *end* (не включая). Функция возвращает созданный массив.

### Sort( arr.str a ) arr.str

Функция *Sort* сортирует переданный массив строк в порядке возрастания и возвращает его.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ru.gentee.org/stdlib/array.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
