- 2008-11-09 (日) 16:29
- 日記
Actionscript3になるとeval関数は用意されていないようですが、さまざまなやり方でevalを実現できるようです。
- evalを実装したライブラリを使う
- インスタンスの動的な参照はthis[hoge.toString()].fooとして可能
- Javascriptのevalを呼び出す
という感じ。
まぁライブラリかなと思い、いきついたのがD.eval。
関数も使えてかなり便利そうです。
import r1.deval.D;
var six:int;
six = D.eval("4 + 2") as int;
six = D.evalToInt("var x=0; for(i=1;i<=3;++i)x+=i;return x");
six = D.evalToInt("a * b", {a:2, b:3});
six = D.evalToInt("f(5)", {f:function(x:int):int{return x+1}});
six = D.evalToInt("xml.@size*2", {xml:});
six = D.evalToInt('xml=; return xml.@size*2');
という感じで使えるらしい。
- Newer: D.evalを使って数式の実行
- Older: なんとなく、微炭酸とは
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://diary.fukuyamakoto.com/archives/174/trackback
- Listed below are links to weblogs that reference
- Actionscript3.0でeval from REALGOLD::なんとなく、微炭酸