我需要在我的scala case classe中定义val元组作为值参数
case class (v1:(a:String, b:String), v2:String)
但它给了我一个编译错误..有人指出我该怎么做?
答案 0 :(得分:3)
您不能在类参数中命名元组元素,但可以在类体中命名。
scala> case class CC(v1:(String, String), v2:String) {
| val (a,b) = v1
| }
defined class CC
scala> val cc = CC(("X", "Y"), "Z")
cc: CC = CC((X,Y),Z)
scala> cc.a
res11: String = X
scala> cc.b
res12: String = Y
答案 1 :(得分:1)
使用REPL,记下给定值的推断类型;例如
scala> val t = ("a","b")
t: (String, String) = (a,b)
因此
scala> val t2: (String,String) = ("a","b")
t2: (String, String) = (a,b)
答案 2 :(得分:0)
case class v1(t: (String, String), v2: String)