inputに数式入れたら計算するようにしたかったんで、AHKにもevalあるか調査してみた。
調べた感じ、デフォルトではないもよう。
comインターフェースから、ScriptControlでJScriptを叩くことにした。
;test_eval.ahk sc_cnt:= ComObjCreate("ScriptControl") sc_cnt.Language:="JScript" sc_cnt.ExecuteStatement("function get2(){return 1+1}") ;ret:=sc_cnt.eval("1+2") ret:=sc_cnt.eval("get2()") msgbox,%ret% sc_cnt:=""
ExecuteStatementでget2という関数を定義して、実行。
戻り値の取得まで正常に出来た。
コメント