我的閱讀列表的斯卡拉API,我發現:的indexOf(ELEM:A,從爲:int) Scala List indexOf有bug?
所以我運行下面的代碼:
scala> List(1,3,5,8).indexOf(8,-2)
res393: Int = 1
scala> List(1,3,5,8).indexOf(8,-3)
res391: Int = 0
爲什麼是這樣的結果? 我的Scala版本是2.12.1(Java HotSpot™64位服務器VM,Java 1.8.0)。
Doc鏈接:http://www.scala-lang.org/api/current/scala/collection/immutable/List.html#indexOf(elem:A,from:Int):Int – lambdie
看來, 'from'參數的負值是未定義的。如果你嘗試像'Vector(1,3,5,8).indexOf(8,-2)'那樣運行'Vector',它將返回'3'。 – adamwy
我認爲它是一個錯誤,應該報告!在Spark 2.12.1中,爲Vector和其他'SeqLike'實現(見https://issues.scala-lang.org/browse/SI-9936)修復了一個類似的錯誤 - 但只修復了「SeqLike」,而「LineraSeqOptimized '不是 - 見https://github.com/scala/scala/blob/v2.12.1/src/library/scala/collection/LinearSeqOptimized.scala#L294 –