web-dev-qa-db-fra.com

Scala type de retour pour les fonctions Tuple

Je veux créer une fonction scala qui renvoie un scala Tuple.

Je peux faire une fonction comme celle-ci:

def foo = (1,"hello","world")

et cela fonctionnera bien, mais maintenant je veux dire au compilateur ce que j'attends d'être renvoyé de la fonction au lieu d'utiliser l'inférence de type intégrée (après tout, je n'ai aucune idée de ce qu'un (1,"hello","world") est).

42
Felix
def foo : (Int, String, String) = (1, "Hello", "World")

Le compilateur interprétera le type (Int, String, String) comme un Tuple3[Int, String, String]

68
oxbow_lakes

En outre, vous pouvez créer un alias de type si vous en avez assez d'écrire (Int, String, String)

type HelloWorld = (Int,String,String)
...

def foo : HelloWorld = (1, "Hello", "World")
/// and even this is you want to make it more OOish
def bar : HelloWorld = HelloWorld(1, "Hello", "World")
3
WillD