switch ~ case corrupts E4X??
♥0 |
Line 39 |
Modified 2010-12-19 22:27:20 |
MIT License
archived:2017-03-20 13:36:38
ActionScript3 source code
/**
* Copyright 9re ( http://wonderfl.net/user/9re )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/79qY
*/
package {
import flash.text.TextField;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
var tf:TextField = new TextField;
tf.width = tf.height = 465;
addChild(tf);
var test:XML = <html>
<b />
<a href="event:A" target="a" />
<a href="event:B" target="b" />
<a href="event:C" target="c" />
</html>;
switch ("switch ~ case corrupts E4X??") {
case 'some thing':
break;
default:
var list:XMLList = test..*.(
name() == 'a' && attribute('href') == 'event:C'
);
log("E4X in switch:", showListSize(list));
list = getList(test);
log("E4X in local function:", showListSize(list));
}
function showListSize(xmllist:XMLList):String {
return xmllist ? xmllist.length().toString() : "null";
}
function getList(xml:XML):XMLList {
return xml..*.(
name() == 'a' && attribute('href') == 'event:C'
);
}
function log(...o:Array):void {
tf.appendText((o ? o.join(' ') : '') + '\n');
}
}
}
}