【问题标题】:Reading from a Tuple and making a String in Scala从元组中读取并在 Scala 中创建字符串
【发布时间】:2017-02-23 16:24:22
【问题描述】:

我有一个元组列表,例如:

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)"

Tuple 中的元素当然是不同类型的(WrappedArray() 中的元素类型相同)。

我的困难部分是如何从WrappedArray() 中的元素中生成类似(F1 \/ F2 \/ F3) 的字符串?

感谢您的帮助。

【问题讨论】:

  • 列表中第二个元素的WrappedArray只有两个元素(F4,F5)..应该怎么处理?
  • @rogue-one,它应该变成(F4 \/ F5),因为在我的例子中WrappedArray 有不同数量的元素。

标签: string scala tuples


【解决方案1】:

如果我正确理解您的要求..以下应该可以工作..

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)

【讨论】:

  • “是的,先生!”它真的很有效。我尝试了很多,以不同的方式:(。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-22
  • 2020-03-16
  • 2011-11-25
  • 1970-01-01
相关资源
最近更新 更多