当实现只是抛出新错误时,Scala Array apply方法如何返回索引处的值

当实现只是抛出新错误时,Scala Array apply方法如何返回索引处的值,scala,Scala,我在发帖前挠头了很多次 object ScalaPractice extends App { val nums = Array("zero","one","two") print(nums.apply(0)) } print(nums.apply(0))中的apply方法的实现仅来自数组类,如下所示: def apply(i: Int): T = throw new Error() 我甚至尝试过调试,但在这种方法中没有调试(尽管在我尝试打开实现时IDE会发送给我) 这确实令人困惑,在

我在发帖前挠头了很多次

object ScalaPractice extends App {
  val nums = Array("zero","one","two")
  print(nums.apply(0))
}
print(nums.apply(0))
中的
apply
方法的实现仅来自数组类,如下所示:

def apply(i: Int): T = throw new Error()
我甚至尝试过调试,但在这种方法中没有调试(尽管在我尝试打开实现时IDE会发送给我)

这确实令人困惑,在这里如何获取特定索引处的元素?

根据Scala编译器的插话,Scala运行时有几个类定义,这些类定义仅用于提供链接到的内容,否则由编译器magic处理

Scala编译器在创建时:
威尔。

“Scala数组类只是运行时的一个假包装,因此您可以在Scala中使用数组。”->可能的重复项不是duplicate@RyanTheLeach。您在这篇评论中提出的问题是数组同伴对象在创建数组时的apply方法。我的问题与如何从特定索引中获取值有关!请检查完整的问题。抱歉,我误解了。我没有答案,但它与编译器中的此函数有关@兰西利奇你没有误解;你的相关问题显然是关于所有阵列魔法的。很高兴您能提供更多源代码链接。阵列被称为后端的专用阵列