signin
codes
page view ranking
favorite ranking
forked count ranking
users
page view ranking
favorite ranking
forked count ranking
tags
Flash/Actionscript keywords
Q&A
new questions
wonderfl?
what is wonderfl?
help!
libraries
wiki
APIs
developer's blog
contact
code search
Vectorのunshiftがおかしい
add to favorites
ton
notice:
Flash editor updated!
Join the development!
Thanks to
MiniBuilder
forked : 0
favorite : 3
lines : 59
license : All rights reserved
modified : 2009/04/14 15:54:21
embed
//数値以外を入れるとunshiftがバグる //レイアウトが崩れるので undefined は X と表示している //追記:Version 10,0,22,87 では修正されているようです package{ import flash.display.Sprite; import flash.text.TextField; public class VectorTest extends Sprite { private const N:int = 5; private var tf:TextField = new TextField(); private var a1:Array = new Array(); private var a2:Array = new Array(); private var a3:Array = new Array(); private var a4:Array = new Array(); private var a5:Array = new Array(); private var a6:Array = new Array(); private var v1:Vector.
= new Vector.
(); private var v2:Vector.
= new Vector.
(); private var v3:Vector.
= new Vector.
(); private var v4:Vector.
= new Vector.
(); private var v5:Vector.
= new Vector.
(); private var v6:Vector.
= new Vector.
(); public function VectorTest() { tf.autoSize = "left"; addChild(tf); append("array", "int","n", "boo", "str", "A", "obj"); append("length", a1.length, a2.length, a3.length, a4.length, a5.length, a6.length); for (var i:uint = 0; i < N; i++) { append("length:", a1.unshift(i), a2.unshift(i), a3.unshift(true), a4.unshift(i.toString()), a5.unshift(new A(i)), a6.unshift(new Object().id = i)); } append(""); for (i = 0; i < N; i++) { append("element", a1.shift(), a2.shift(), a3.shift(), a4.shift(), a5.shift(), a6.shift()); } append("--------------------------------------------------------------------------------------------------------"); append("vector", "int","n", "boo", "str", "A", "obj"); append("length", v1.length, v2.length, v3.length, v4.length, v5.length, v6.length); for (i = 0; i < N; i++) { append("length:", v1.unshift(i), v2.unshift(i), v3.unshift(true), v4.unshift(i.toString()), v5.unshift(new A(i)), v6.unshift(new Object().id = i)); } append(""); for (i = 0; i < N; i++) { append("element", v1.shift(), v2.shift(), v3.shift(), v4.shift(), v5.shift(), v6.shift()); } } private function append(... args):void { for (var i:int = 0; i < args.length; i++) { tf.appendText(args[i] === undefined ? "X" : args[i]) tf.appendText("\t\t\t"); } tf.appendText("\n"); } } } class A { private var id:int; public function A(id:int) { this.id = id; } public function toString():String { return id.toString(); } }
astro
optimization
vector
superbacker
clockmaker
:
astro
vector
気づかずにunshiftを使ってしまいそう。気をつけないと。
keim_at_Si
:
optimization
ありゃ,これはひどい.
appendText
Object
undefined
unshift
Array
shift
toString
Boolean
autoSize
Vector
addChild
TextField
length
String
uint
Sprite
Number
int
Get Adobe Flash Player