Project Elvis
Neia Neutuladh
neia at ikeran.org
Mon Nov 6 00:20:09 UTC 2017
On Saturday, 28 October 2017 at 11:38:52 UTC, Andrei Alexandrescu
wrote:
> Walter and I decided to kick-off project Elvis for adding the
> homonym operator to D.
It's easy to write in function form:
auto orElse(T)(T a, lazy T b)
{
return a ? a : b;
}
writeln(args[1].length.orElse(fibonacci(50)));
This version can also be specialized for things like Nullable,
where you can't necessarily cast it safely to a boolean but have
a check for validity.
Is it that valuable to have an operator for it instead?
As an aside, I believe feepingcreature had a custom infix
operator for this sort of thing defined, so you could write:
(a /or/ b /or/ c).doStuff();
The implementation (along with /and/) is left as an exercise to
the reader.
More information about the Digitalmars-d
mailing list