Метод split_at
Метод split_at делит срез на две части по указанному индексу.
Он возвращает кортеж из двух срезов: первый содержит элементы
от начала до индекса (не включая элемент с этим индексом),
а второй - элементы от индекса до конца среза.
Параметром метод принимает индекс, по которому нужно разделить срез.
Если индекс больше длины среза, происходит паника.
Синтаксис
slice.split_at(mid)
Пример
Давайте разделим срез [1, 2, 3, 4, 5] по индексу 2:
fn main()
{
let slice = [1, 2, 3, 4, 5];
let (left, right) = slice.split_at(2);
println!("{:?}", left);
println!("{:?}", right);
}
Результат выполнения кода:
[1, 2]
[3, 4, 5]
Пример
Давайте разделим срез ["a", "b", "c", "d", "e"] по индексу 3:
fn main()
{
let slice = ["a", "b", "c", "d", "e"];
let (left, right) = slice.split_at(3);
println!("{:?}", left);
println!("{:?}", right);
}
Результат выполнения кода:
["a", "b", "c"]
["d", "e"]
Пример
Давайте разделим срез [1, 2, 3, 4, 5] по индексу 0:
fn main()
{
let slice = [1, 2, 3, 4, 5];
let (left, right) = slice.split_at(0);
println!("{:?}", left);
println!("{:?}", right);
}
Результат выполнения кода:
[]
[1, 2, 3, 4, 5]
Смотрите также
-
метод
split_first,
который делит срез на первый элемент и остаток -
метод
split,
который делит срез по предикату -
метод
chunks,
который разбивает срез на части заданного размера -
метод
get,
который возвращает элемент среза по индексу