TC官方合作论坛

 找回密码
 立即注册
查看: 1280|回复: 2

[BUG反馈] 用 数组获取元素 函数获取不存在的元素却返回存在的值

[复制链接]
发表于 2015-5-17 21:41:53 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
代码如下:
  1. 变量 b=数组("k1"="a","k2"="b","k3"="c","k4"="d")
  2.     变量 r,v,k
  3.     r=数组获取元素(b,5,v,k)
  4.     调试输出("r="&r&",v="&v&",k="&k)//输出>>"r=0,v=,k=",位置5的元素不存在  
  5.     r=数组获取元素(b,2,v,k)
  6.     调试输出("r="&r&",v="&v&",k="&k)//输出>>"r=1,v=c,k=k3"
  7.     r=数组获取元素(b,7,v,k)
  8.     调试输出("r="&r&",v="&v&",k="&k)//输出>>"r=0,v=c,k=k3" ,位置7的元素不存在,返回的是位置2的元素
复制代码
当位置超出范围时,如果之前没有成功获取元素,则返回null(这是对的),否则返回上次成功获取的元素(这是BUG?)

回复

使用道具 举报

发表于 2015-5-18 10:01:36 | 显示全部楼层
这个要判断函数返回状态的

r=数组获取元素(b,7,v,k) 这个返回的失败的,执行失败 函数不会改变传入参数的任何值  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-19 10:09:08 | 显示全部楼层
kevinqq 发表于 2015-5-18 10:01
这个要判断函数返回状态的

r=数组获取元素(b,7,v,k) 这个返回的失败的,执行失败 函数不会改变传入参数的 ...

r=数组获取元素(b,7,v,k)中v和k的作用就是存放元素的值和key,如果函数执行成功就改变这两个参数的值。
所以关注的不是原值而是获取到的值,如果函数执行失败也有返回值则容易产生误解(不知道这值是获取到的还是保留的原值,必须对函数执行结果进行确认),所以此时v和k还是返回null比较明确,望官方考虑。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-17 12:32 , Processed in 0.030110 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表