Everything is fine until I try to instantiate Tuples with my arrays. Then I get an error that says none of the overloads of the constructor are callable with these arguments. But I see this: http://dlang.org/phobos/std_typecons.html#.Tuple.this.2 , which makes me think it should work. Am I doing something wrong?
Alright! I got what I wanted. Posting here for any fellow noobs who may stumble across this and care what I was screwing up. It looks like I accidentally gave a bad example, because I needed to sort on the second elements ascending, not the first elements descending. The lambdas I was feeding to sort were not working because of the crazy types coming from the range methods, and it turns out that I did not need tuples, since I could get a proper sort from an array. This is what I ended up with (plus a couple of filters that I'm omitting for clarity):
auto result = input .splitter(",") .map!(v => v.splitter(" ") .map!(a => a.to!(int)) .array() ) .array() .sort!("a[1]<b[1]"); Thanks Ali and Dennis for taking time to respond.