val Y = List (1,4,3,5,9,7) //> Y : List[Int] = List(1, 4, 3, 5, 9, 7)
Y(2) //> res1: Int = 3
Y.sorted //> res2: List[Int] = List(1, 3, 4, 5, 7, 9)
Y.sorted(2) //> ERROR
// But the following works
val z = Y.sorted //> z : List[Int] = List(1, 3, 4, 5, 7, 9)
z(2) //> res2: Int = 4
如何在排序列表的索引2处获取元素而不将其分配给新变量?
答案 0 :(得分:3)
这将有效:
Y.sorted.apply(2)
您收到错误的原因是因为sorted
采用类型为Ordering
的隐式参数,并且Scala编译器尝试将2
解释为隐式参数的值(已通过)显式),由于类型不匹配而最终出现错误。