该程序是:
object Hello extends App {
val a: List[Int] = List(1, 3, 4, 5, 8, 10, 11, 22, 33)
for (i <- 0 to 11)
println(a(i))
}
输出是:
1
3
4
5
8
10
11
22
33
java.lang.IndexOutOfBoundsException: 9 // continues as a long error message.
它如何在编译时没有检测到索引将超出范围?编译语言不应该这样做吗?如果没有,您能否分享一下编译时检查中包含的内容和不包含的内容?
作为一个新手,我总是听说,编译语言很棒,它们在编译时发现错误,因此更健壮。