Home > 日記 > D.evalを使って数式の実行

D.evalを使って数式の実行

  • 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') );

あぁ便利だ。

Comments:0

Comment Form
Remember personal info

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::なんとなく、微炭酸

Home > 日記 > D.evalを使って数式の実行

Search
Feeds
Meta

Return to page top