我本以为元组列表可以很容易地被展开:
scala> val p = "abcde".toList
p: List[Char] = List(a, b, c, d, e)
scala> val q = "pqrst".toList
q: List[Char] = List(p, q, r, s, t)
scala> val pq = p zip q
pq: List[(Char, Char)] = List((a,p), (b,q), (c,r), (d,s), (e,t))
scala> pq.flatten
但事实上,发生了这样的情况:
<console>:15: error: No implicit view available from (Char, Char) => scala.collection.GenTraversableOnce[B].
pq.flatten
^
我能够使用以下技术完成工作:
scala> (for (x <- pq) yield List(x._1, x._2)).flatten
res1: List[Char] = List(a, p, b, q, c, r, d, s, e, t)
但是我不理解这个错误信息。而且我的备选方案似乎很复杂和低效。
那个错误信息是什么意思,为什么我不能简单地压缩元组列表?
foo("a", "b")
可以工作,但foo("a", "b", "c")
不能。依此类推... - Travis Brown