35得票1回答
Scala REPL 2.10 中 breakIf 的替代方案

我正在阅读这里关于在REPL代码中使用breakIf方法进行交互式调试,但后来我发现这篇文章说ILoop中的break和breakIf已在Scala 2.10中被删除。不幸的是,那篇文章没有解释为什么要删除这段代码。 我猜想这些函数被移除是因为有更好的方法来实现这个功能。如果是这样,请有人给...

34得票4回答
Scala. 一个字段的 case class 可以成为值类吗?

Scala 2.10推出了 value classes。它们非常有用,可以编写类型安全的代码。此外,它们也存在一些限制,其中一些限制可以被编译器检测到,而一些限制则需要在运行时进行分配。 我想使用case class语法创建value classes,以允许使用无需new关键字创建实例,并且...

30得票2回答
Scala 2.10反射,如何从一个case class中提取字段值,即从case class中获取字段列表。

如何使用scala 2.10中的新反射模型来提取case class中的字段值? 例如,使用以下方法无法提取字段方法。 def getMethods[T:TypeTag](t:T) = typeOf[T].members.collect { case m:MethodSymbo...

28得票1回答
新的Scala TypeTags如何改进(已弃用的)Manifests?

可能重复: Scala 2.10:什么是TypeTag,我该如何使用它? 我一直在阅读关于新反射API中伴随而来的TypeTags。似乎Manifests应该被这个新概念所取代。有人可以发布一些代码示例来展示其优点吗? 一些参考资料: TypeTags API SIP:自清洁宏 Sca...

26得票2回答
Scala 2.10中的模式匹配有哪些改进?

我发现这个谜题,特别是这段代码,很有趣。val (i, j): (Int, Int) = ("3", "4") 在Scala 2.9.1中运行时失败,但在2.10 M3编译时失败(这很好)。我尝试追踪新Scala版本的更新,但我无法在这里连接各个点。是什么改进导致了这种更精确的行为?

26得票2回答
Scala构造函数参数

私有变量构造函数参数和没有val/var的构造函数参数有什么区别?它们在作用域/可见性方面是否相同? 例如: 私有变量构造函数参数只能在类内部访问,而没有val/var的构造函数参数可以在整个类中访问。它们在作用域和可见性方面是不同的。class Person(private var f...

26得票4回答
在Scala集合中是否有可用的Round Robin/Circular Queue?

Scala集合中是否有循环队列(Round Robin Queue)可用? 我需要重复迭代一个列表,让它在自身内部形成循环。 val x = new CircularList(1,2,3,4) x.next (returns 1) x.next (returns 2) x.next (re...

25得票7回答
如何在Scala中通过索引从列表中删除一个项目?

我有一个如下的列表:val internalIdList: List[Int] = List() internalIdList = List(11, 12, 13, 14, 15) 从这个列表中删除第三个元素,就能得到:internalIdList = List(11, 12, 14, 15...

24得票1回答
如何获取有关“特性”标志警告的更多信息?

当使用Play2编译应用程序时,有时会在终端上出现以下信息: [info] Compiling 1 Scala source to ~/target/scala-2.10/classes... [warn] there were 1 feature warnings; re-run...

23得票2回答
如何从TypeTag获取ClassTag,或同时获取两者?

我有一些像这样的代码: class ReflectiveJsonFormat[T:TypeTag] extends JsonFormat[T] { def write(x: T) : JsValue = { val t = typeOf[T] val getters = t....