scala - 向listBuffer添加元组

时间:2014-10-28 11:18:53

标签: scala

我想在ListBuffer中添加一个三位整数元组。直觉上,我的第一次尝试是代码片段1,根据编译器,它有语法错误。然后,我尝试了代码片段2和3,两者都可以使用。那么有人可以向我解释为什么代码片段1在语法上是错误的。

摘录1

    import scala.collection.mutable.ListBuffer
    val b : ListBuffer[(Int, Int,Int)] = ListBuffer()
    b += (1,1,1)

摘录2

    import scala.collection.mutable.ListBuffer
    val b : ListBuffer[(Int, Int,Int)] = ListBuffer()
    b += ((1,1,1))

摘录3

    import scala.collection.mutable.ListBuffer
    val b : ListBuffer[(Int, Int,Int)] = ListBuffer()
    val i = (1,1,1)
    b += i

1 个答案:

答案 0 :(得分:26)

b += (1,1,1)

被解释为

 b.+=(1,1,1)

看起来像是将三个参数传递给+

的函数调用

添加另一对parens意味着它被解释为

b.+=((1,1,1))

正在通过预期的元组。

中单独声明参数
val i = (1,1,1)

也没有那个解释问题所以也可以。