:::
和++
在Scala中串联列表之间有什么区别吗?
scala> List(1,2,3) ++ List(4,5)
res0: List[Int] = List(1, 2, 3, 4, 5)
scala> List(1,2,3) ::: List(4,5)
res1: List[Int] = List(1, 2, 3, 4, 5)
scala> res0 == res1
res2: Boolean = true
从文档看来,它看起来++
更通用,而它:::
是List
特定的。是否提供后者是因为它已用于其他功能语言中?
答案几乎描述了Scala在列表中的演化方式以及Scala中操作符的统一性(或缺少后者)。不幸的是,如此简单的东西有这么长的细节,以至于混淆并浪费了任何Scala学习者的时间。我希望它将在2.12中得到稳定。
—
matanster 2015年
:::
就是像所有方法的前缀运营商开始: