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

with как копирование с изменением

with появляется, когда значение копируется, но при этом меняется определённым образом.

with в смысле «как <значение>, но с чем-то другим».

// Copyright 2025 Google LLC
// SPDX-License-Identifier: Apache-2.0

impl Path {
    // Упрощённо. "/home/me/mortgage.pdf".with_extension("mov") =>
    // "/home/me/mortgage.mov"
    fn with_extension(&self, ext: &OsStr) -> PathBuf;
}
  • with можно использовать для методов, которые копируют значение, а затем меняют определённую его часть.

    В этом примере with_extension копирует данные &Path в новый PathBuf, но меняет расширение на другое.

    Исходный Path остаётся неизменным.