我们阅读了每一条反馈,并非常认真地对待您的意见。
要查看所有可用的限定符,请参阅我们的文档.
对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。
单击“注册GitHub”,表示您同意我们的服务条款和隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。
已经在GitHub上了?登录到您的帐户
在REPL中运行:
val值arr=动态数组(10,0)val值()=动态阵列更新(arr,0,1)val值()=动态阵列更新(arr,1,1)val值()=动态阵列更新(arr,2,1)val值subar=动态数组.toList(DynamicArray.subArray(arr,0,2))
引发下标异常,即使设置了范围[0,2]中的值。类似地,在REPL中运行此命令:
下标
val值arr=动态数组(10,0)val值()=动态阵列更新(arr,0,1)val值()=动态阵列更新(arr,1,1)val值()=动态阵列更新(arr,2,1)val值()=DynamicArray.truncate(arr,2)
将导致阿珥处于无效状态,因此正在运行DynamicArray.toList数组或动态数组到矢量数组将引发下标例外。
阿珥
DynamicArray.toList数组
动态数组到矢量数组
这是因为subArray(子数组)创建一个具有新数组绑定长度的数组,即使文件中的注释说该数组应该至少有绑定+1个元素。
subArray(子数组)
我也修改了截断即使数组大小<=3*sz,也要设置绑定引用,截断可以用于一致地降低动态阵列的边界。
截断
我想用DynamicArray.truncate动态数组截断降低界限,我想使用DynamicArray.bound+1作为数组中所有集合元素的长度。马上截断通常会导致无效状态,并且它只会在某些情况下降低界限,这意味着[0,bound]中的元素可能包含已清零的值。
DynamicArray.truncate动态数组截断
DynamicArray.bound+1
我将更新后的smlnj-lib.cm文件加载到REPL中,并运行以下命令:
>val arr=动态数组数组(10,0);val arr=-:int动态数组数组>DynamicArray.update(arr,0,1);valit=():单位>DynamicArray.update(arr,1,1);valit=():单位>DynamicArray.update(arr,2,1);valit=():单位>动态数组.toList(DynamicArray.subArray(arr,0,2));valit=[1,1,1]:int列表>val arr=动态数组数组(10,0);val arr=-:int动态数组数组>DynamicArray.update(arr,0,1);valit=():单位>DynamicArray.update(arr,1,1);valit=():单位>DynamicArray.update(arr,2,1);valit=():单位>动态数组截断(arr,2);valit=():单位>动态数组截断(arr,1);valit=():单位>DynamicArray.truncate(arr,0);valit=():单位-val arr=动态数组数组(3,0);val arr=-:int动态数组数组-DynamicArray.update(arr,0,1);valit=():单位-DynamicArray.update(arr,1,1);valit=():单位-DynamicArray.update(arr,2,1);valit=():单位-动态数组绑定arr;val-it=2:int值-动态数组截断(arr,2);valit=():单位-动态数组绑定arr;valit=1:int
对不起,出了点问题。
DynamicArray.subArray创建长度绑定为+1的数组
103立方英尺
隐藏此评论时出现问题。
将显示原因,以便向其他人描述此评论。了解更多信息.
这些变化对我来说很好。
f02b128
动态数组.subArray
拉取请求的票据合并 #280 (动态数组.subArray 创建
4d0b8da型
长度绑定为+1的数组)
JohnReppy公司 JohnReply批准了这些更改
成功合并此请求可能会解决这些问题。