考虑一个例子:
public def someFunc(f: (One Pair Two Pair Three) => Future[Two]) : SomeResultType = {...}
case class One(...)
case class Two(...)
case class Three(...)
配对是scala.Predef#Pair
scala.Predef#Pair
是什么意思?据我所知,我可以在scala中编写函数调用,如println "string"
,但在这种情况下,令牌是类型。表达式One Pair Two Pair Three
的实际类型是什么?
答案 0 :(得分:3)
您可以使用REPL
来获得答案:
scala> def ttt: Int Pair Long Pair String = ???
ttt: Pair[Pair[Int,Long],String]
类型A B C
表示B[A, C]
中的scala
。
所以One Pair Two Pair Three
表示Pair[One,Two] Pair Three
表示Pair[Pair[One, Two], Three]
。
Pair
只是Tuple2
的类型别名。
请注意,Pair
为deprecated,您应该使用Tuple2
代替((One, Two), Three)
。