最简单的方法来定义一个类型,它是Scala中特定数量元素的序列?

时间:2014-06-19 03:01:54

标签: scala

假设我正在执行以下操作:

val a = complicatedChainOfSteps("c")
val b = complicatedChainOfSteps("d")

我有兴趣编写如下代码(以减少代码和复制/粘贴错误):

val Seq(a, b) = Seq("c", "d").map(complicatedChainOfSteps(_))

但让编译器确保元素的数量匹配,所以以下不要编译:

val Seq(a, b) = Seq("c", "d", "e").map(s => s + s)
val Seq(a, b) = Seq("c").map(s => s + s)

我知道使用元组来确保元素的数量匹配在执行多个赋值时起作用(例如val (a, b) = ("c", "d")),但是你不能映射元组(这是有意义的,因为它们具有异构类型)。 / p>

我也知道我可以为2个元素的序列和3个元素的序列或者其他任何东西定义我自己的类型,但是有没有方便的内置方法来做到这一点?如果不是,那么定义一个特定数量元素序列的类型的最简单方法是什么?

0 个答案:

没有答案