Ich habe diese Frage gerade bemerkt und festgestellt, dass ich hier fast genau das Gleiche beantwortet habe: https://stackoverflow.com/a/11460839/1449525
Um es mit meinen Worten zu sagen: Sie können auf jeden Fall D.eval , AS3Eval oder ExternalInterface (wie in der aktuell gewählten Antwort), wenn Sie in einer Webseite ausgeführt werden. Es scheint jedoch, als bräuchten Sie nur etwas wie dieses einfache MathParser ( Mehr Informationen über den MathParser )
So verwenden Sie den MathParser:
package {
import bkde.as3.parsers.*;
import flash.display.Sprite;
public class MathTest extends Sprite {
public function MathTest() {
var parser:MathParser = new MathParser([]);
var compiledObj:CompiledObject = parser.doCompile("(10/3)*4+10");
var answer:Number = parser.doEval(compiledObj.PolishArray, []);
var xyParser:MathParser = new MathParser(["x", "y"]);
var xyCompiledObj:CompiledObject = xyParser.doCompile("(x/3)*y+10");
var xyAnswer:Number = xyParser.doEval(xyCompiledObj.PolishArray, [10, 4]);
}
}
}
Ich bin mir sicher, dass ExternalInterface gut funktioniert, aber ich habe persönliche Vorbehalte gegen die sprachübergreifende Kommunikation (vor allem in Bezug auf Effizienz und Sicherheit) und auch gegen die unangenehme Natur der Sache. Ich habe das Gefühl, dass eine vollständig in sich geschlossene, gleichsprachige Lösung in den meisten Situationen vorzuziehen ist.