Ich erstelle einen Online-Rechner, mit dem Benutzer mathematische Operationen ausführen können. Im Kern verwende ich math.js Evaluator, um die Ergebnisse der Operationen zu erhalten.Benutzerdefinierte Steueranweisungen mit math.js und Codeauswertung
Derzeit kann der Benutzer Operationen in der Befehlszeile einzeln eingeben, aber der nächste Schritt meiner Idee sollte dem Benutzer erlauben, einige Zeilen Javascript (oder benutzerdefinierte Syntax) in ein Textfeld oder einen anderen Editor zu schreiben und dann die gesamte Eingabe auszuwerten. Das Problem ist, dass math.js eval nicht damit umgehen kann, aber es erlaubt, die eingebaute Funktionalität um benutzerdefinierte Funktionen zu erweitern.
Gibt es eine Möglichkeit, die Bibliothek für die Behandlung von/if/switch-Anweisungen zu erweitern? Oder sollte ich vielleicht über einen anderen Ansatz nachdenken (analysiere jede Zeile und überprüfe den Namen einer bestimmten Aussage? Was soll ich mit Klammern tun?).
Hat jemand ähnliches Problem durchgesetzt? Irgendwelche Vorschläge, wie ich mit diesem Problem umgehen kann?
Was würden Sie der Benutzer wollen mit dem JavaScript-Code zu tun? Es ist nicht so, als wäre js ein mathematischer Ausdruck, der einen einzelnen Wert ergibt. – Bergi
Können Sie uns eine Benutzereingabe zeigen, die Sie auswerten möchten, und das erwartete Ergebnis? –
@Bergi und @le_m, lassen Sie uns sagen, Benutzer möchte den Fluss des Skripts steuern, die er schrieb, wie in Matlab, wo Sie benutzerdefinierte Funktion definieren können, innerhalb wo Sie zum Beispiel eingeben können 'für i = 1: 6 c [i ] = a [i] * b [i] end' und ähnlich .. Ich wollte Benutzern erlauben, ganze Algorithmen auszufüllen und sie als Funktionen zu verwenden, die von der Befehlszeile next – Kamil