Julia不一致的切片边界检查

Julia不一致的切片边界检查,julia,slice,Julia,Slice,我正在编写一些代码,使用数组视图和切片,但遇到了一些不一致的地方 为什么以下情况不会导致异常: a = [1,2] @show a[3:end] @show a[4:end] 以上所有参数都会按预期返回空数组 但这会导致出现BoundsError a = [1,2] @show a[2:3] 为什么切片的第一个索引允许大于数组本身的大小,但Julia似乎对最后一个索引大于数组本身的大小有问题 Julia版本:1.3.1x[c:end]是getindex(x,UnitRange(c,lasti

我正在编写一些代码,使用数组视图和切片,但遇到了一些不一致的地方

为什么以下情况不会导致异常:

a = [1,2]
@show a[3:end]
@show a[4:end]
以上所有参数都会按预期返回空数组

但这会导致出现
BoundsError

a = [1,2]
@show a[2:3]
为什么切片的第一个索引允许大于数组本身的大小,但Julia似乎对最后一个索引大于数组本身的大小有问题


Julia版本:1.3.1

x[c:end]
getindex(x,UnitRange(c,lastindex(x))
的语法

具有
a>b
的任何范围
a:b
均为空。根据的定义,为具有空范围的数组编制索引将导致空数组

在第一组示例中,使用空范围索引数组。在第二组示例中,您使用一个越界范围进行索引,这将导致预期的错误