コピーして設定する with
値をコピーしつつ、特定の方法で変更も行う場合に with が使われます。
with は「<value> のようなものだが、何かが異なる」という意味です。
// 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は変更されません。