I'm getting started using D for some small personal projects and one thing I wanted to do was use a helper function for a tuple. I declared the function like this:
string getOrZeroth(Tuple!(string, string, string) tup, int i) pure {
return tup[i] == "" ? tup[0] : tup[i];
}
and would like to use it like this:
auto foo = tuple("a", "", "c");
writeln(foo.getOrZeroth(1)); // prints a
but when I try it, I'm getting the below error:
>Error: variable `i` cannot be read at compile time
It would probably make more sense to create a class and make that a member function, but at this point I'm mostly just curious about how to use a tuple as a function parameter. I tried using a couple different options like tuple
and TypeTuple
as well as trying to convert the function into a template, but didn't have any better luck with those. I feel like I'm probably missing something silly, and any help would be appreciated.