by: カスタム比較関数または射影

カスタムの射影関数または比較関数を受け取るメソッドに使う構成要素。

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

impl<T> [T] {
    fn sort(&mut self) where T: Ord;

    fn sort_by(&mut self, compare: impl FnMut(&T, &T) -> Ordering);

    fn sort_by_key<K, F>(&mut self, f: F)
    where
        F: FnMut(&T) -> K,
        K: Ord;
}
  • sort_by は、通常の Ord 比較ロジックを置き換えるカスタム比較関数を受け取ります。

  • sort_by_key は、元の要素を受け取り、ソートに使用する代替値を返す射影関数を受け取ります。これにより、構造体の特定のフィールドでソートするといったことができます。

  • ときには、前置詞 “by” が単に前置詞であるだけの場合もあります。