Returning multiple arrays from function - struct or byref the only option?
    Ali Çehreli via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Wed Oct 15 10:56:05 PDT 2014
    
    
  
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