4

什么是 Scala 2.10 与 2.9 不兼容以及如何处理它们?

尤其是核心库,但流行库的任何问题都可能很有趣。

感谢官方文档的链接。

4

3 回答 3

2

不确定是否存在错误,但是类型推断和存在类型存在问题,现已修复(但尚未发布修复,因此当前版本 2.10.0 中仍然存在该问题)

它是SI-5330。在问题的描述(以及各种评论)中,有一些代码示例用于在 scala 2.9 中编译,而现在无法在 2.10 中编译。

于 2013-01-15T17:33:14.817 回答
1

找到了其中的几个:

  • 默认演员库是 Akka

迁移到 Akka:

http://docs.scala-lang.org/overviews/core/actors-migration-guide.html

或者包括旧的。例如使用 Maven:

<dependency>
  <groupId>org.scala-lang</groupId>
  <artifactId>scala-actors</artifactId>
  <version>2.10.0</version>
</dependency>
  • 扩展案例类会导致编译错误

不要从案例类继承。如果您使用案例类进行匹配,请使用提取器模式:

http://www.scala-lang.org/node/112

  • 删除了一些不推荐使用的方法,List包括:-, --, first, sort...

看:

http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.List

http://www.scala-lang.org/api/2.9.2/index.html#scala.collection.immutable.List

于 2013-01-15T17:19:03.003 回答
1

我认为总的来说它们不是源代码不兼容的。确实存在一些差异,特别是与存在和模式匹配相关的差异——一些是由于 2.10.0 上的新错误,一些是由于 2.9.2 上的旧错误已得到修复。

当然,很多不推荐使用的东西都被删除了,但这不言而喻。

于 2013-01-15T23:24:16.447 回答