Returning multiple arrays from function - struct or byref the only option?
    Laeeth Isharc via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Oct 18 03:28:43 PDT 2014
    
    
  
Thanks for the thoughts Meta and Ali.
Laeeth.
On Wednesday, 15 October 2014 at 17:56:06 UTC, Ali Çehreli wrote:
> On 10/15/2014 09:48 AM, Laeeth Isharc wrote:
>
> > struct RetStruct
> > {
> >      double[] a;
> >      double[] b;
> > }
> >
> > RetStruct myfunction(double x)
>
> That's my preference. Tuples would work as well but they have 
> two minor issues for me:
>
> - Unlike a struct, the members are anonymous. (Yes, tuples 
> members can have names as well but not when returning or 
> creating conveniently by 'return tuple(a, b)'.)
>
> - Unlike Python, there is no automatic tuple expansion so one 
> has to refer to the members as result[0] and result[1], which 
> is less readable than struct members. (Yes, there is some 
> support for tuple expansion e.g. in foreach but it has some 
> issues with the automatic foreach loop counter.)
>
> Summary: I return by struct. :)
>
> Ali
    
    
More information about the Digitalmars-d-learn
mailing list