СПРАВОЧНИК

Стандартная библиотека Rust

Vec, String, Option, Result, Iterator

Алфавитный справочник по самым востребованным типам и методам стандартной библиотеки Rust: динамический массив Vec<T>, строки String и &str, контейнеры ошибок Option<T> и Result<T, E>, ленивые итераторы и хэш-таблица HashMap. Каждая запись содержит сигнатуру, краткое объяснение и рабочий пример с комментарием-результатом.

Прочее 6

HashMap 9

Iterator 19

Iterator::all()
fn all&lt;F: FnMut(Self::Item) -> bool&gt;(&amp;mut self, f: F) -> boolПроверяет, удовлетворяют ли условию все элементы.
Iterator::any()
fn any&lt;F: FnMut(Self::Item) -> bool&gt;(&amp;mut self, f: F) -> boolПроверяет, удовлетворяет ли условию хотя бы один элемент.
Iterator::chain()
fn chain&lt;U: IntoIterator&gt;(self, other: U) -> Chain&lt;Self, U::IntoIter&gt;Соединяет два итератора последовательно.
Iterator::collect()
fn collect&lt;B: FromIterator&lt;Self::Item&gt;&gt;(self) -> BСобирает итератор в коллекцию.
Iterator::count()
fn count(self) -> usizeСчитает количество элементов в итераторе.
Iterator::enumerate()
fn enumerate(self) -> Enumerate&lt;Self&gt;Добавляет к каждому элементу его индекс.
Iterator::filter()
fn filter&lt;P: FnMut(&amp;Self::Item) -> bool&gt;(self, p: P) -> Filter&lt;Self, P&gt;Оставляет только элементы, проходящие условие.
Iterator::find()
fn find&lt;P: FnMut(&amp;Self::Item) -> bool&gt;(&amp;mut self, p: P) -> Option&lt;Self::Item&gt;Находит первый элемент, удовлетворяющий условию.
Iterator::flat_map()
fn flat_map&lt;U: IntoIterator, F: FnMut(Self::Item) -> U&gt;(self, f: F) -> FlatMap&lt;...&gt;Map с последующим разглаживанием вложенных итераторов.
Iterator::fold()
fn fold&lt;B, F: FnMut(B, Self::Item) -> B&gt;(self, init: B, f: F) -> BСворачивает итератор в одно значение с аккумулятором.
Iterator::iter()
fn iter(&amp;self) -> Iter&lt;'_, T&gt;Создаёт итератор по ссылкам на элементы коллекции.
Iterator::map()
fn map&lt;B, F: FnMut(Self::Item) -> B&gt;(self, f: F) -> Map&lt;Self, F&gt;Преобразует каждый элемент итератора.
Iterator::max()
fn max(self) -> Option&lt;Self::Item&gt;Находит максимальный элемент.
Iterator::min()
fn min(self) -> Option&lt;Self::Item&gt;Находит минимальный элемент.
Iterator::rev()
fn rev(self) -> Rev&lt;Self&gt;Обходит итератор в обратном порядке.
Iterator::skip()
fn skip(self, n: usize) -> Skip&lt;Self&gt;Пропускает первые n элементов.
Iterator::sum()
fn sum&lt;S: Sum&lt;Self::Item&gt;&gt;(self) -> SСчитает сумму всех элементов.
Iterator::take()
fn take(self, n: usize) -> Take&lt;Self&gt;Берёт первые n элементов.
Iterator::zip()
fn zip&lt;U: IntoIterator&gt;(self, other: U) -> Zip&lt;Self, U::IntoIter&gt;Сшивает два итератора в пары.

Option 9

Result 8

String / str 17

format!
macro format!($fmt, $args...) -> StringСобирает форматированную строку без вывода.
str::chars()
fn chars(&amp;self) -> Chars&lt;'_&gt;Возвращает итератор по символам Unicode.
str::contains()
fn contains&lt;P: Pattern&gt;(&amp;self, pat: P) -> boolПроверяет вхождение подстроки или символа.
str::ends_with()
fn ends_with&lt;P: Pattern&gt;(&amp;self, pat: P) -> boolПроверяет, заканчивается ли строка шаблоном.
String::new()
fn new() -> StringСоздаёт новую пустую строку.
String::push()
fn push(&amp;mut self, ch: char)Дописывает один символ в конец строки.
String::push_str()
fn push_str(&amp;mut self, string: &amp;str)Дописывает строковый срез в конец строки.
str::is_empty()
fn is_empty(&amp;self) -> boolПроверяет, пуста ли строка.
str::len()
fn len(&amp;self) -> usizeВозвращает длину строки в байтах.
str::parse()
fn parse&lt;F: FromStr&gt;(&amp;self) -> Result&lt;F, F::Err&gt;Парсит строку в значение указанного типа.
str::replace()
fn replace&lt;P: Pattern&gt;(&amp;self, from: P, to: &amp;str) -> StringЗаменяет все вхождения подстроки и возвращает новую строку.
str::split()
fn split&lt;P: Pattern&gt;(&amp;self, pat: P) -> Split&lt;'_, P&gt;Разбивает строку по разделителю на итератор срезов.
str::starts_with()
fn starts_with&lt;P: Pattern&gt;(&amp;self, pat: P) -> boolПроверяет, начинается ли строка с шаблона.
str::to_lowercase()
fn to_lowercase(&amp;self) -> StringВозвращает строку в нижнем регистре.
str::to_uppercase()
fn to_uppercase(&amp;self) -> StringВозвращает строку в верхнем регистре.
str::trim()
fn trim(&amp;self) -> &amp;strУбирает пробельные символы по краям строки.
ToString::to_string()
fn to_string(&amp;self) -> StringПреобразует значение в String.

Vec 16

Vec::contains()
fn contains(&amp;self, x: &amp;T) -> boolПроверяет наличие значения в векторе.
Vec::dedup()
fn dedup(&amp;mut self)Удаляет идущие подряд дубликаты.
Vec::extend()
fn extend&lt;I: IntoIterator&lt;Item = T&gt;&gt;(&amp;mut self, iter: I)Добавляет в вектор все элементы итератора.
Vec::get()
fn get(&amp;self, index: usize) -> Option&lt;&amp;T&gt;Безопасный доступ к элементу по индексу.
Vec::insert()
fn insert(&amp;mut self, index: usize, element: T)Вставляет элемент по указанному индексу.
Vec::is_empty()
fn is_empty(&amp;self) -> boolПроверяет, пуст ли вектор.
Vec::iter()
fn iter(&amp;self) -> Iter&lt;'_, T&gt;Возвращает итератор по ссылкам на элементы.
Vec::len()
fn len(&amp;self) -> usizeВозвращает количество элементов в векторе.
Vec::new()
fn new() -> Vec&lt;T&gt;Создаёт новый пустой вектор без выделения памяти.
Vec::pop()
fn pop(&amp;mut self) -> Option&lt;T&gt;Удаляет и возвращает последний элемент.
Vec::push()
fn push(&amp;mut self, value: T)Добавляет элемент в конец вектора.
Vec::remove()
fn remove(&amp;mut self, index: usize) -> TУдаляет и возвращает элемент по индексу.
Vec::retain()
fn retain&lt;F: FnMut(&amp;T) -> bool&gt;(&amp;mut self, f: F)Оставляет только элементы, удовлетворяющие условию.
Vec::reverse()
fn reverse(&amp;mut self)Переворачивает порядок элементов на месте.
Vec::sort()
fn sort(&amp;mut self)Сортирует вектор по возрастанию на месте.
Vec::with_capacity()
fn with_capacity(capacity: usize) -> Vec&lt;T&gt;Создаёт вектор с заранее выделенной ёмкостью.
Поддержать проект