On Monday, 10 November 2014 at 03:38:49 UTC, Andrei Alexandrescu
wrote:
On 11/9/14 4:49 AM, "Nordlöw" wrote:
On Sunday, 9 November 2014 at 08:12:37 UTC, Andrei
Alexandrescu wrote:
sortBy!(expr) is equivalent with sort!(expr_a < expr_b) so
there's no
additional power to it. However, it does make some sorting
criteria
easier to write. A while ago I took a related diff pretty far
but in
the end decided to discard it because it didn't add
sufficient value.
What do you mean by sufficient value?
It seemed to me just another way of doing the same things.
Ruby has sort_by. I believe D would when possible should be a
superset
of the union of powers available in other languages to
maximize the ease
of porting code *to* D and the pleasure for programmers to
switch to D.
Sadly things don't work that way - e.g. Phobos1 took a bunch of
string functions from Ruby and Python, to no notable effect.
I'll try to make this elegant and useful and use it myself for
a while.
If it works for me I'll do a PR still. Ok?
That's a better approach, thanks. A few compelling examples
would help.
A positive point about it would be that it's more intuitive to
read, especially with long names or complex expressions.
// sort vectors by length
container.sortBy!"x*x + y*y";
// vs.
container.sort!((a,b) => a.x*a.x + a.y*a.y < b.x*b.x +
b.y*b.y);