Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Глоссарий

Ниже приведён глоссарий, который даёт краткое определение многим терминам Rust. Для переводов он также связывает термин с английским оригиналом.

  • выделение памяти: Динамическое выделение памяти в куче.
  • массив: Коллекция фиксированного размера из элементов одного типа, хранящихся в памяти непрерывно. См. Массивы.
  • ассоциированный тип: Тип, связанный с конкретным трейтом. Полезен для определения связи между типами.
  • Bare-metal Rust: Низкоуровневая разработка на Rust, часто для систем без операционной системы. См. Bare-metal Rust.
  • блок: См. Блоки и область видимости.
  • заимствование: См. Заимствование.
  • анализатор заимствований: Часть компилятора Rust, которая проверяет, что все заимствования корректны.
  • фигурная скобка: { и }. Также называются curly brace; они ограничивают блоки.
  • канал: Используется для безопасной передачи сообщений между потоками.
  • конкурентность: Одновременное выполнение нескольких задач или процессов. См. Добро пожаловать в конкурентность в Rust.
  • константа: Значение, которое не меняется во время выполнения программы. См. const.
  • поток управления: Порядок, в котором выполняются отдельные инструкции программы. См. Основы управления потоком.
  • аварийное завершение: Неожиданный и необработанный сбой или завершение программы. См. паника.
  • перечисление: Тип данных, который хранит одно из нескольких именованных значений, возможно, с ассоциированным кортежем или структурой. См. enum.
  • ошибка: Неожиданное условие или результат, отклоняющийся от ожидаемого поведения. См. Обработка ошибок.
  • обработка ошибок: Процесс управления ошибками, возникающими во время выполнения программы, и реагирования на них.
  • функция: Многократно используемый блок кода, который выполняет конкретную задачу. См. Функции.
  • сборщик мусора: Механизм, который автоматически освобождает память, занятую объектами, которые больше не используются. См. Подходы к управлению памятью.
  • обобщения: Возможность писать код с заполнителями вместо типов, что позволяет переиспользовать код с разными типами данных. См. Обобщения.
  • неизменяемый: Не может быть изменён после создания. См. Переменные.
  • интеграционный тест: Тип теста, который проверяет взаимодействие между различными частями или компонентами системы. См. Другие типы тестов.
  • библиотека: Набор предкомпилированных процедур или кода, которые могут использоваться программами. См. Модули.
  • макрос: Макросы Rust узнаются по ! в имени. Макросы используются, когда обычных функций недостаточно. Типичный пример — format!, который принимает переменное число аргументов, а функции Rust этого не поддерживают.
  • функция main: Программы на Rust начинают выполняться с функции main.
  • match: Конструкция управления потоком в Rust, которая позволяет выполнять сопоставление с образцом над значением выражения.
  • утечка памяти: Ситуация, когда программа не освобождает память, которая больше не нужна, из-за чего использование памяти постепенно растёт. См. Подходы к управлению памятью.
  • метод: Функция, связанная с объектом или типом в Rust. См. Методы.
  • модуль: Пространство имён, содержащее определения (функции, типы или трейты) для организации кода в Rust. См. Модули.
  • перемещение: Передача владения значением от одной переменной к другой в Rust. См. Семантика перемещения.
  • изменяемый: Свойство в Rust, которое позволяет переменным изменяться после объявления.
  • владение: Понятие Rust, которое определяет, какая часть кода отвечает за управление памятью, связанной со значением. См. Владение.
  • паника: Неустранимая ошибка в Rust, которая приводит к завершению программы. См. Паники.
  • шаблон: Сочетание значений, литералов или структур, с которым можно сопоставить выражение в Rust. См. Сопоставление с образцом.
  • полезная нагрузка: Данные или информация, которые переносятся сообщением, событием или структурой данных.
  • получатель: Первый параметр метода в Rust, который представляет экземпляр, для которого вызван метод.
  • ссылка: Невладеющий указатель на значение, которое заимствуется без передачи владения. Ссылки могут быть неизменяемыми (разделяемыми) или изменяемыми (эксклюзивными).
  • подсчёт ссылок: Техника управления памятью, при которой отслеживается число ссылок на объект, и объект освобождается, когда счётчик достигает нуля. См. Rc.
  • Rust: Системный язык программирования, в центре внимания которого безопасность, производительность и конкурентность. См. Что такое Rust?.
  • безопасный: Относится к коду, который соблюдает правила владения и заимствования Rust и предотвращает ошибки, связанные с памятью. См. Небезопасный Rust.
  • срез: Представление динамического размера над непрерывной последовательностью, например массивом или вектором. В отличие от массивов, размер срезов определяется во время выполнения. См. Срезы.
  • область видимости: Участок программы, в котором переменная действительна и может использоваться. См. Блоки и области видимости.
  • стандартная библиотека: Набор модулей, предоставляющих базовую функциональность Rust. См. Стандартная библиотека.
  • static: Ключевое слово Rust для определения статических переменных или элементов с временем жизни 'static. См. static.
  • строка: Тип данных для хранения текста. См. Строки.
  • структура: Составной тип данных в Rust, который объединяет переменные разных типов под одним именем. См. Структуры.
  • тест: Функция, которая проверяет корректность другого кода. В Rust есть встроенное средство запуска тестов. См. Тестирование.
  • поток: Отдельная последовательность выполнения в программе, которая позволяет выполнять код конкурентно. См. Потоки.
  • потокобезопасность: Свойство программы, которое обеспечивает корректное поведение в многопоточной среде. См. Send и Sync.
  • трейт: Набор методов, определённых для неизвестного типа, который даёт способ достичь полиморфизма в Rust. См. Трейты.
  • ограничение трейта: Абстракция, с помощью которой можно требовать, чтобы типы реализовывали определённые трейты. См. Ограничения трейтов.
  • кортеж: Составной тип данных, содержащий переменные разных типов. Поля кортежа не имеют имён и доступны по порядковым номерам. См. Кортежи.
  • тип: Классификация, которая определяет, какие операции можно выполнять над значениями данного вида в Rust. См. Типы и значения.
  • вывод типов: Способность компилятора Rust определить тип переменной или выражения. См. Вывод типов.
  • неопределённое поведение: Действия или условия в Rust, у которых нет определённого результата, что часто приводит к непредсказуемому поведению программы. См. Небезопасный Rust.
  • union: Тип данных, который может хранить значения разных типов, но только одно в каждый момент времени. См. Объединения.
  • модульный тест: В Rust есть встроенная поддержка запуска небольших модульных тестов и более крупных интеграционных тестов. См. Модульные тесты.
  • тип unit: Тип, который не хранит данных и записывается как кортеж без элементов. См. заметки для докладчика по функциям.
  • небезопасный: Подмножество Rust, которое позволяет вызывать неопределённое поведение. См. Небезопасный Rust.
  • переменная: Место в памяти, которое хранит данные. Переменные действительны в пределах области видимости. См. Переменные.