with: クロージャを扱う

with は、「X を行うが、計算にはこの特定の方法を使う」という意味です。

// 著作権 2025 Google LLC
// SPDX-License-Identifier: Apache-2.0

impl<T> Vec<T> {
    // 簡略化した例です。リサイズ後の長さが現在の vec のサイズより大きい場合は、
    // クロージャを使って要素を埋めます。
    pub fn resize_with(&mut self, new_len: usize, f: impl FnMut() -> T);
}

mod iter {
    // クロージャを使って、無限の遅延イテレータを作成します。
    pub fn repeat_with<A, F: FnMut() -> A>(repeater: F) -> RepeatWith<F>;
}
  • with は、計算において「妥当なデフォルト」の代わりに使用できる特定の関数または クロージャがあることを伝えるために、接尾辞として使われることがあります。

    by と似ています。