从元组中读取并在Scala中创建字符串

时间:2017-02-23 16:24:22

标签: string scala tuples

我有一个像Tuple(s)这样的列表:

val rez = List((A, B, C, D, E, WrappedArray(F1, F2, F3)), (A2, B2, C2, D2, E2, WrappedArray(F4, F5)))

我要做的是从列表中的每个元组创建一个字符串,以便(例如,对于第一个元组):

if(C == "Bob") then "A => (F1 \/ F2 \/ F3)"

元组中的元素当然是不同类型的(WrappedArray()属于同一类型)。

我的难点在于如何从(F1 \/ F2 \/ F3)中的元素中创建WrappedArray()字符串?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果我理解你的要求......以下应该有效..

val rez = List(("A", "B", "Bob", "D", "E", Array("F1", "F2", "F3")), ("A2", "B2", "Bob", "D2", "E2", Array("F4", "F5")))

val result = rez map {
 case (a, b, c, d, e, array) if(c == "Bob") => s"$a => ${array.mkString(" \\/ ")}"
}
result: List[String] = List(A => F1 \/ F2 \/ F3, A2 => F4 \/ F5)