- 2008-11-10 (月) 17:34
- 日記
Flex3でユーザーの入力した数式(関数)に対して、変域に相当する値域を求めるという算数チックなことをやろうと思っています。
D.evalのeval関数は以下のように引数をとります。
eval(program:Object, context:Object=null, thisObj:Object=null);
programは実行する式で、contextにその式で利用する変数の値を定義することによって実行時に代入してくれます。
なので、数式を実行するには以下のような関数を用意してやれば、任意の式、任意のxに対して結果をだすことができます。
function calculate(x:int, expr:String):* {
return D.eval(expr, {x:x});
}
//ユーザーが"2*x+10"を数式として指定した場合
trace(calculate(1, '2*x+10') );
あぁ便利だ。
- Newer: Flexで直交座標(Cartesian Coordinate)
- Older: Actionscript3.0でeval
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://diary.fukuyamakoto.com/archives/177/trackback
- Listed below are links to weblogs that reference
- D.evalを使って数式の実行 from REALGOLD::なんとなく、微炭酸