Missing par method from Scala collections

被刻印的时光 ゝ 提交于 2019-12-01 10:34:03

问题


I tried to convert a sequential list to a parallel one in Intellij, but I get the error

Cannot resolve symbol par

on the .par method call:

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

According to https://docs.scala-lang.org/overviews/parallel-collections/overview.html, one must simply

invoke the par method on the sequential collection, list. After that, one can use a parallel collection in the same way one would normally use a sequential collection.

What makes me wonder is that I did not find any par method in the current immutable list api of scala: https://www.scala-lang.org/api/current/scala/collection/immutable/List.html

But there's even a dedicated scala doc-page for sequential to parallel conversion which uses the par method: https://docs.scala-lang.org/overviews/parallel-collections/conversions.html

About my setup

I'm on Arch Linux with OpenJDK 10 set at language level 9 (in Intellij) and scala-sdk-2.13.0.

Imported library dependencies:

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

回答1:


As @Thilo mentioned in a comment, I was missing the following import which is necessary since Scala 2.13:

import scala.collection.parallel.CollectionConverters._

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



来源:https://stackoverflow.com/questions/57287607/missing-par-method-from-scala-collections

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!