有没有办法在排序时为打破平局提供多个键?

HiD*_*der 1 sorting rust

有没有内置的方法来提供多个键来打破排序?就像是:

vec.sort_by_key(|k| foo(k), bar(k));

foo(k)第一个键在哪里,bar(k)是第二个(打破平局)键?

Fra*_*gné 5

你可以使用一个元组:

vec.sort_by_key(|k| (foo(k), bar(k)));
Run Code Online (Sandbox Code Playgroud)

具有0到12个字段的元组实现Ord.