设为首页收藏本站

 找回密码
 注册
查看: 3661|回复: 16
打印 上一主题 下一主题

反馈往数组末尾插入一项的bug [复制链接]

Rank: 1

精华
0
UID
121786
积分
40
帖子
19
主题
2
阅读权限
10
注册时间
2013-7-28
最后登录
2016-10-14
跳转到指定楼层
1#
发表于 2015-7-20 11:30:44 来自手机 |只看该作者 |正序浏览
NumericArrayInsert(arr, GetNumericArraySize(arr), 1350);

反馈个bug,请问为啥这样往数组末尾动态插入一项,会导致数组除了插入了值是1350的这项外,其后面还额外增加了值为0的一项,如何解决?

Rank: 1

精华
0
UID
212983
积分
49
帖子
34
主题
15
阅读权限
10
注册时间
2015-7-6
最后登录
2023-4-19
17#
发表于 2016-6-16 10:18:24 |只看该作者
扶老二 发表于 2015-7-22 22:50
斑竹,还有个问题,就是用这个实现,最后末尾会多出一项,值是0,如何解决? ...

用NumericArrayErase(arr, gerNumericArraySize(arr)-1, 1)删除。。

使用道具 举报

Rank: 1

精华
0
UID
121786
积分
40
帖子
19
主题
2
阅读权限
10
注册时间
2013-7-28
最后登录
2016-10-14
16#
发表于 2015-7-24 23:33:26 |只看该作者
tianlan 发表于 2015-7-24 08:41
因为牵涉到插入位置的问题,如果不影响您使用的话,建议您忽略

好的,谢谢

使用道具 举报

超级版主

TB官方客服

Rank: 10Rank: 10Rank: 10

精华
0
UID
102452
积分
475
帖子
308
主题
11
阅读权限
200
注册时间
2012-3-5
最后登录
2021-3-8
15#
发表于 2015-7-24 08:41:40 |只看该作者
扶老二 发表于 2015-7-22 22:50
斑竹,还有个问题,就是用这个实现,最后末尾会多出一项,值是0,如何解决? ...

因为牵涉到插入位置的问题,如果不影响您使用的话,建议您忽略

使用道具 举报

Rank: 1

精华
0
UID
121786
积分
40
帖子
19
主题
2
阅读权限
10
注册时间
2013-7-28
最后登录
2016-10-14
14#
发表于 2015-7-22 22:50:26 |只看该作者
tianlan 发表于 2015-7-22 10:49
Vars
    NumericArray arr;
Begin

斑竹,还有个问题,就是用这个实现,最后末尾会多出一项,值是0,如何解决?

使用道具 举报

Rank: 1

精华
0
UID
121786
积分
40
帖子
19
主题
2
阅读权限
10
注册时间
2013-7-28
最后登录
2016-10-14
13#
发表于 2015-7-22 12:55:39 来自手机 |只看该作者
tianlan 发表于 2015-7-22 10:49
Vars
    NumericArray arr;
Begin

赞,这样子可以往数组末尾不断插入新项,谢谢!

使用道具 举报

超级版主

TB官方客服

Rank: 10Rank: 10Rank: 10

精华
0
UID
102452
积分
475
帖子
308
主题
11
阅读权限
200
注册时间
2012-3-5
最后登录
2021-3-8
12#
发表于 2015-7-22 10:49:17 |只看该作者
Vars
    NumericArray arr;
Begin
       NumericArrayInsert(arr, GetNumericArraySize(arr), 1);
       NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 2);
       NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 3);
               
        Commentary("arr[0]:" + Text(arr[0]));
        Commentary("arr[1]:" + Text(arr[1]));
        Commentary("arr[2]:" + Text(arr[2]));
                Commentary("arr[2]:" + Text(arr[3]));
               
        Commentary("arrLen:" + Text(GetNumericArraySize(arr)));
End

插入的时候,总是牵涉到初始化和插入的起始位置的问题,第一个 GetNumericArraySize(arr)-1或者 GetNumericArraySize(arr)也就没有意义。

使用道具 举报

Rank: 1

精华
0
UID
121786
积分
40
帖子
19
主题
2
阅读权限
10
注册时间
2013-7-28
最后登录
2016-10-14
11#
发表于 2015-7-21 23:56:10 |只看该作者
tianlan 发表于 2015-7-21 14:50
NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 1350);


Vars
    NumericArray arr;
Begin
        NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 1);
        NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 2);
        NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 3);
        Commentary("arr[0]:" + Text(arr[0]));
        Commentary("arr[1]:" + Text(arr[1]));
        Commentary("arr[2]:" + Text(arr[2]));
        Commentary("arrLen:" + Text(GetNumericArraySize(arr)));
End

比如这样往空数组最末尾插入3项,但是数组却是: [2,3,1],而不是[1,2,3],如何解决?

使用道具 举报

Rank: 1

精华
0
UID
121786
积分
40
帖子
19
主题
2
阅读权限
10
注册时间
2013-7-28
最后登录
2016-10-14
10#
发表于 2015-7-21 18:27:38 |只看该作者
tianlan 发表于 2015-7-21 14:50
NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 1350);

这样是不行的,这样只写是往最后一个元素前面插入,而不是后面插入。

使用道具 举报

超级版主

TB官方客服

Rank: 10Rank: 10Rank: 10

精华
0
UID
102452
积分
475
帖子
308
主题
11
阅读权限
200
注册时间
2012-3-5
最后登录
2021-3-8
9#
发表于 2015-7-21 14:50:50 |只看该作者
扶老二 发表于 2015-7-21 13:01
那么请问往数组末尾追加一项,需要用什么样的写法?

NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 1350);

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-23 17:01

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部