【问题标题】:What does ":+" mean in ScalaScala中的“:+”是什么意思
【发布时间】:2016-05-12 14:56:48
【问题描述】:

我看到一些 Scala 代码写成:

 def next(): Array[String] = someVariable.next() :+ iterator.key

其中someVariable 有一个方法next() 来获取下一行,并且迭代器的类型为Iterator[String]

:+ 在这里是什么意思?

【问题讨论】:

标签: scala


【解决方案1】:

在 Scala 集合中,通常有 :++:
两者都向集合中添加一个元素。 :+ 追加 +: 追加。
一个很好的提醒是,: 是 Collection 所在的位置。

colA ++: colB 也可以连接集合,其中: 侧集合决定了结果类型。 如果存在:++,则与++ 相同。在这两种情况下,左侧集合决定了结果的类型。

【讨论】:

  • ++:++ 有什么区别?
【解决方案2】:

:+someVariable.next() 返回的任何类型的方法。

大概是scala.Array.:+

此数组的副本,附加一个元素。


这也是 IDE 对您有很大帮助的情况。以 Intellij 为例,您可以在 :+ 上使用“快速文档”或“跳转到定义”命令并立即找出它的来源。我发现该工具在编写 scala 时非常宝贵。

【讨论】:

    【解决方案3】:
    scala> List(1,2,3,4) :+ 400
    res27: List[Int] = List(1, 2, 3, 4, 400)
    

    【讨论】:

    • 虽然这段代码可以解决问题,但including an explanation 确实有助于提高帖子的质量。
    • 对于这么老的问题,解释您的答案与现有答案有何不同可能会很有帮助。
    猜你喜欢
    • 2023-03-27
    • 2014-01-16
    • 2021-10-24
    • 1970-01-01
    • 2021-11-05
    • 2015-12-30
    • 2011-12-17
    • 2012-01-14
    相关资源
    最近更新 更多