7

我试图在 Intellij 中将顺序列表转换为并行列表,但出现错误

无法解析符号 par

.par方法调用上:

import scala.collection.parallel.immutable._
...
val parList = List(1,2,3).par

根据https://docs.scala-lang.org/overviews/parallel-collections/overview.html,必须简单地

在顺序集合 list 上调用 par 方法。之后,可以像通常使用顺序收集一样使用并行收集。

par让我感到奇怪的是,我在 scala 的当前不可变列表 api 中没有找到任何方法: https ://www.scala-lang.org/api/current/scala/collection/immutable/List.html

但是甚至还有一个专用的 scala 文档页面,用于使用以下par方法进行顺序到并行转换:https ://docs.scala-lang.org/overviews/parallel-collections/conversions.html

关于我的设置

我在 Arch Linux 上,OpenJDK 10 设置为语言级别 9(在 Intellij 中)和 scala-sdk-2.13.0。

导入的库依赖:

  • scala-library(2.13.0)
  • scala-parallel-collections(2.13.0)
4

2 回答 2

11

正如@Thilo 在评论中提到的那样,我错过了自 Scala 2.13 以来必需的以下导入:

import scala.collection.parallel.CollectionConverters._

来源:https ://github.com/scala/scala-parallel-collections/issues/22

于 2019-07-31T12:11:17.297 回答
4

除了进口:

import scala.collection.parallel.CollectionConverters._ 

您还需要在 maven 项目的 pom.xml 中添加依赖项:

<dependency>
        <groupId>org.scala-lang.modules</groupId>
        <artifactId>scala-parallel-collections_2.13</artifactId>
        <version>0.2.0</version>
</dependency>
于 2019-12-09T14:05:31.620 回答