如何在scala中将元素追加到迭代器中

时间:2018-03-23 05:43:36

标签: scala iterator

我想在迭代器的末尾追加一个元素:

val a = Iterator(3, 4)
val b = a + 5 // expect b == Iterator(3,4,5), but there is no + method
val b2 = a ++ Iterator(5) // That works, but not concise.

有没有比b2做出更好的方法呢?

1 个答案:

答案 0 :(得分:1)

你总是可以隐藏你不喜欢的东西背后的不简洁语法。

implicit class IterPlus[A](itr: Iterator[A]) {
  def +(elem: A) = itr ++ Iterator(elem)
}

val a = Iterator(3, 4)
val b = a + 5          //Iterator(3, 4, 5)