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という関数を定義して、実行。
戻り値の取得まで正常に出来た。


コメント