这是 indexWhere
方法中的错误,还是对下面示例中的前四行有有意义的解释?
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, -4)
res0: Int = -2
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, -3)
res1: Int = -1
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, -2)
res2: Int = 0
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, -1)
res3: Int = 1
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, 0)
res4: Int = 2
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, 1)
res5: Int = 2
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, 2)
res6: Int = 2
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, 3)
res7: Int = 3
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, 4)
res8: Int = 4
scala> List(1, 1, 4, 4, 4).indexWhere(_ > 3, 5)
res9: Int = -1
最佳答案
我认为理想情况下,如果您传递一个负数作为起始索引,您会看到一个 IllegalArgumentException
(这到底意味着什么?),但也许人们认为边界的开销检查不值得。我在文档中没有看到任何指定的行为,所以不确定我是否会将其称为错误;更多的是“垃圾进来,垃圾出去”的情况。
关于scala - 当参数 `list.indexWhere` 为负数时出现 `from` 的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19998974/