Il semble que dans la plupart des langages de programmation grand public, retourner plusieurs valeurs à partir d'une fonction est extrêmement maladroit chose.
Les solutions classiques sont à effectuer soit une structure ou un simple vieux de données de classe et de retour, ou de passer au moins certains des paramètres par référence ou un pointeur au lieu de les renvoyer.
À l'aide de références/pointeurs est assez gênant car il s'appuie sur les effets secondaires et les moyens que vous avez encore un autre paramètre à passer.
La class/struct solution est d'ailleurs à mon humble avis assez maladroite parce qu'alors vous retrouver avec un million de petites classes et/ou des structures qui ne sont utilisés que pour les valeurs de retour des fonctions, générant inutiles, et le niveau de verbosité.
En outre, un grand nombre de fois, il y a une valeur de retour qui est toujours nécessaire, et le reste ne sont utilisés que par l'appelant dans certaines circonstances. Aucune de ces solutions permet à l'appelant d'ignorer inutiles types de retour.
La seule langue que je suis conscient de qui gère plusieurs valeurs de retour élégante est Python. Pour ceux d'entre vous qui ne connaissent pas, il utilise tuple déballage:
a, b = foo(c) # a and b are regular variables.
myTuple = foo(c) # myTuple is a tuple of (a, b)
Quelqu'un aurait-il d'autres solutions à ce problème? Les deux idiomes que les travaux existant dans les principaux langages en plus de Python et de la langue au niveau des solutions que vous avez vu dans la non-intégrer les langues sont les bienvenues.