我正在寻找使用scala语法描述的任何资源。 例如,现在我试图理解做这个功能的是什么:
reduceByKey(_ ++ _)
但我无法找到意味着++
字符的内容......
我在看:
http://www.scala-lang.org/files/archive/spec/2.11/
但它没有回答我的问题。
可能有人可以提供良好的资源,比如“不尽力的scala”和详细的例子
谢谢!
答案 0 :(得分:3)
++
只是Scala中的方法名称,例如+
或*
。您可以在http://www.scala-lang.org/api/current/index.html#index.index-_找到以非字母开头的所有标准库方法的列表。
答案 1 :(得分:0)
除了@alexey-romanov回答
通常,++用于生成新的数据结构。
我们可以在以下表格中使用它(带示例): -
++用于产生新的数据结构。
前: -
val digits2=Map("One" -> 1,"Two" -> 2)
val digits = Map[String,Int]() ++ digits2
digits: scala.collection.immutable.Map[String,Int] = Map(One -> 1, Two -> 2)
或强>
注意: - 数字4的地图下面有一个键一个,值 5
val digits4=Map("One" -> 5,"Three"-> 3,"Four" -> 4)
val Combined1 = digits2 ++digits4
Combined1: scala.collection.immutable.Map[String,Int] = Map(One -> 5, Two -> 2, Three -> 3, Four -> 4)
此运算符与上面的++
完全相同。在两个操作数上使用时。
val Combined2 = digits2 ++:digits4
Combined2: scala.collection.immutable.Map[String,Int] = Map(One -> 5, Two -> 2, Three -> 3, Four -> 4)
他们对http://www.scala-lang.org/api/current/index.html#index.index-_中定义的其他数据类型执行类似的操作。
val buf = new StringBuilder
buf += 'a'
buf ++= "bcdef"
println("buf : "+buf)
结果 buf:abcdef
val buf1 = new ArrayBuffer[String]()
buf1 +="a"
val buf2 = new ArrayBuffer[String]()
buf2 +="bcde"
val buf3 = buf1 ++=: buf2
println("buf3 = "+buf3)
结果: - buf3 = ArrayBuffer(a,bcde)