Scala тип возврата для функций-кортежей - PullRequest
42 голосов
/ 30 апреля 2010

Я хочу создать функцию scala, которая возвращает кортеж scala.

Я могу сделать такую ​​функцию:

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

и это будет нормально работать, но теперь я хочу сообщить компилятору, что я ожидаю получить от функции вместо использования встроенного вывода типа (в конце концов, я понятия не имею, что такое (1,"hello","world")).

Ответы [ 2 ]

68 голосов
/ 30 апреля 2010
def foo : (Int, String, String) = (1, "Hello", "World")

Компилятор будет интерпретировать тип (Int, String, String) как Tuple3[Int, String, String]

3 голосов
/ 24 марта 2017

Кроме того, вы можете создать псевдоним типа, если устали писать (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")
...