<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Aug 16, 2016 at 5:35 PM, Anton Zhilin <span dir="ltr">&lt;<a href="mailto:antonyzhilin@gmail.com" target="_blank">antonyzhilin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">What we need here is  sort_by  from Ruby. How about adding these overloads?<div><br></div><div><font face="monospace, monospace">func sort&lt;U: Comparable&gt;(by: (T) -&gt; U)</font></div><div><font face="monospace, monospace">func sorted&lt;U: Comparable&gt;(by: (T) -&gt; U) -&gt; [T]</font></div></div>
</blockquote></div><br></div><div class="gmail_extra">I&#39;d be in favor. We&#39;d need another name, since the current closure predicate is already standardized to `by:`.</div><div class="gmail_extra">(Or, as I propose above, once `Ordering` comes to the stdlib, we can just have it as `func sort&lt;U: Comparable&gt;(_ ordering: Ordering, by: (T) -&gt; U)`, called like `sort(.ascending) { $0.age }`.)</div><div class="gmail_extra"><br></div></div>