相关疑难解决方法(0)

Scala 2.8 breakOut

在Scala 2.8中,有一个对象scala.collection.package.scala:

def breakOut[From, T, To](implicit b : CanBuildFrom[Nothing, T, To]) =
    new CanBuildFrom[From, T, To] {
        def apply(from: From) = b.apply() ; def apply() = b.apply()
 }
Run Code Online (Sandbox Code Playgroud)

我被告知这会导致:

> import scala.collection.breakOut
> val map : Map[Int,String] = List("London", "Paris").map(x => (x.length, x))(breakOut)

map: Map[Int,String] = Map(6 -> London, 5 -> Paris)
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?为什么breakOut被称为我的论据List?

scala scala-2.8 scala-collections

223
推荐指数
4
解决办法
3万
查看次数

将Seq转换为ArrayBuffer

有没有简洁的方法来转换Seq成ArrayBufferScala?

scala seq arraybuffer

13
推荐指数
2
解决办法
1万
查看次数

从范围初始化scala BitSet

我想初始化一个scala BitSet来包含从1到N的整数.以下内容可行,但我正在寻找更好的解决方案:

var s = BitSet.empty ++ (1 to n)
Run Code Online (Sandbox Code Playgroud)

我希望我可以这样做:

var s:BitSet = (1 to n).toSet
Run Code Online (Sandbox Code Playgroud)

......但是会导致错误:

error: polymorphic expression cannot be instantiated to expected type;
  found   : [B >: Int]scala.collection.immutable.Set[B]
  required: scala.collection.immutable.BitSet
Run Code Online (Sandbox Code Playgroud)

我错过了一些明显的东西吗

scala

11
推荐指数
1
解决办法
2199
查看次数

标签 统计

scala ×3

arraybuffer ×1

scala-2.8 ×1

scala-collections ×1

seq ×1