[Question] Could a function return a list of arguments to call another function?

Ellery Newcomer ellery-newcomer at utulsa.edu
Fri Jun 28 12:39:40 PDT 2013


On 06/28/2013 11:07 AM, MattCoder wrote:
> Hi,
>
> I would like to know if it's possible to pass the return of a function
> as argument to another function as below:
>
> import std.stdio;
>
> auto foo(int x, int y){
>      writeln(x, y);
>      return 3, 4;
> }
>
> void main(){
>      foo(foo(1,2));
> }
>
> I would like to print:
> 1 2
> 3 4
>
> PS: I tried return a tuple but it doesn't works.
>
> Thanks,
>
> Matheus.

No, functions cannot return tuples.

However, they can return std.typecons.Tuple, so you could do this:

auto foo(int i, int j) {
     writeln(i, " ", j);
     return tuple(3,4);
}
void main() {
     foo(foo(1,2).field);
}



More information about the Digitalmars-d-learn mailing list