Appending tuple to a buffer in Scala
scala, scala-collections
Solution
Because you are not adding a `Tuple`, you are calling the `+=` method with two parameters:
buffer += (3, 4)
// is equivalent here to
buffer.+=(3, 4)
And that method is defined both with varargs and without, and adds to the buffer everything it is given:
def +=(elem: A): ArrayBuffer.this.type
def +=(elem1: A, elem2: A, elems: A*): ArrayBuffer.this.type
Problem
In Scala, ``` test("Appending a tuple to a Buffer"){ val buffer = ArrayBuffer[Int]() val aTuple = (2, 3) println(buffer += (2, 3)) // Result : ArrayBuffer(2, 3) println(buffer += aTuple ) // doesn't compile } ``` Why does line ``` println(buffer += (2, 3)) ``` work, but line ``` println(buffer += aTuple ) ``` not compile ?