gpt4 book ai didi

Julia 切片边界检查不一致

转载 作者:行者123 更新时间:2023-12-01 08:05:59 25 4
gpt4 key购买 nike

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

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

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 都是空的。根据 getindex 的定义,索引具有空范围的数组将导致空数组.

您在第一组示例中索引了一个包含空范围的数组。在您的第二组示例中,您使用越界范围进行索引,如预期的那样出错。

关于Julia 切片边界检查不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59621427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com