web-dev-qa-db-ja.com

Scalaタプル関数の戻り値の型

scala Tupleを返すscala関数を作成したい。

次のような機能を実行できます。

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

これはうまく動作しますが、組み込みの型推論を使用する代わりに、関数から返されるものをコンパイラに伝えたいと思います(結局、(1,"hello","world")が何であるかわかりません)。

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

コンパイラは、型(Int, String, String)Tuple3[Int, String, String]として解釈します

68
oxbow_lakes

また、書くことにうんざりしている場合は、タイプエイリアスを作成できます(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