Tuple enhancement
Bienlein via Digitalmars-d
digitalmars-d at puremagic.com
Tue Oct 18 00:11:01 PDT 2016
On Sunday, 16 October 2016 at 13:58:51 UTC, Andrei Alexandrescu
wrote:
> I was thinking it would be handy if tuples had a way to access
> a field by name at runtime. E.g.:
>
> Tuple!(int, "a", double, "b") t;
> string x = condition ? "a" : "b";
In Scala you can do this:
def getUserInfo = ("Al", 42, 200.0)
val(name, age, weight) = getUserInfo
See http://alvinalexander.com/scala/scala-tuple-examples-syntax.
You can also do the same thing in Kotlin and in Groovy (in Groovy
it only works if static type checking is not turned on, though).
I fear if D in contrast has a solution for tuples like this:
Tuple!(int, "a", double, "b") t;
string x = condition ? "a" : "b";
double v = t.get!string(x, 3.14);
where variable names are mapped as strings it could harm the
reputation of the language. People have something they could
easily use as a sample to attack the language. These are harsh
words, I know. Sorry for that. I only write this because I feel
people should be advised not to do this. Real tuples or none.
IMHO much better.
More information about the Digitalmars-d
mailing list