Tupple没有展平.但是如果你知道结构,你可以这样做:
implicit def flatten1[A, B, C](t: ((A, B), C)): (A, B, C) = (t._1._1, t._1._2, t._2)
implicit def flatten2[A, B, C](t: (A, (B, C))): (A, B, C) = (t._1, t._2._1, t._2._2)
Run Code Online (Sandbox Code Playgroud)
这将使任何类型的Tupple变平.您还可以将隐式关键字添加到定义中.这仅适用于三个元素.您可以将Tupple压扁:
(1, ("hello", 42.0)) => (1, "hello", 42.0)
(("test", 3.7f), "hi") => ("test", 3.7f, "hi")
Run Code Online (Sandbox Code Playgroud)
多个嵌套Tupple不能平铺到地面,因为返回类型中只有三个元素:
((1, (2, 3)),4) => (1, (2, 3), 4)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11299 次 |
最近记录: |