Ne Rouille de soutien pour les fonctions qui renvoient des valeurs multiples?
Ne Rouille prise en charge native pour les fonctions qui retournent des valeurs multiples, comme Aller?
func addsub(x, y int) (int, int) {
return x + y, x - y
}
Il semble que nous pourrions utiliser un tuple de le simuler. Rosetta Code introduit la façon de retourner plusieurs valeurs dans les différentes langues, mais je n'ai pas vu de Rouille.
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne pour moi:
C'est essentiellement la même que dans le jeu de Go, mais les parenthèses sont obligatoires.
return
déclaration.)Dans de Rouille, vous pouvez retourner un tuple avec plus d'une valeur:
Une langue revenir plus d'une valeur est probablement l'émulation de ce avec un tuple ou une autre structure de données que dans la plupart des conventions d'appel de la valeur de retour est dans un seul registre.
Ne peux pas Aller, mais il y a de fortes chances qu'ils sont tout simplement l'émulation de plusieurs valeurs à l'intérieur d'un n-uplet et au moment de la compilation de vous forcer à gérer les retours.
Je ne vois pas de problème avec la rouille faisant ce que c'est de cette façon OCaml ou Haskell (et des autres), de les gérer, et ils imposent un type de vérification dans les valeurs de retour (ou tuple) si les chances de quelque chose va mal sont faibles. La façon la plus commune pour gérer les valeurs de retour sont à la déconstruction de l'tuple dans deux ou plusieurs liaisons (
let (a, b) = tuple_2();
).Juste mes deux cents, n'hésitez pas à me corriger.
let (a, b) = tuple_2();
À Rust, vous n'avez pas à utiliser l' retour mot-clé:
Voici un exemple montrant comment vous pouvez facilement affecter le retour de n-uplet de variables distinctes.