注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

为着理想勇敢前进

 
 
 

日志

 
 

ActionScript 3 bug: delete Array项可能删不掉,反而变出来一些奇怪的值  

2009-12-04 22:44:42|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Steps to reproduce: 
1. compile the following code: 
package { 
import flash.display.* 
import flash.utils.* 
public final class Delete extends Sprite { 
public function Delete() { 
//const a:* = {} 
const a:Array = [] 
function put(k:uint):void { 
a[k] = Math.random() 

function remove(k:uint):void { 
const before:Number = a[k] 
delete a[k] 
const after:Number = a[k] 
if (a[k] != null) { 
throw new Error( 
"Incorrect deletion:" + 
"before=" + before + "," + 
"after=" + after) 


for (var i:uint = 0;;i++) { 
put(uint(Math.random()*4)) 
remove(uint(Math.random()*4)) 





2. Run it in debugger version Flash Player 
  
Actual Results: 
Throw an error. 
  
Expected Results: 
Do not throw any error. 
  
Workaround (if any): 
Delete it twice! 

这个 bug 其实涉及最基础的类,任何版本的 FlashPlayer 9 和 FlashPlayer 10 都能重现。我已经报告了(http://bugs.adobe.com/jira/browse/FP-2798)。但是需要多几个人投票, Adobe 才会注意到它。如果你也碰到这个 bug ,就投上一票(需要注册)吧。
  评论这张
 
阅读(679)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018