hiho,
hab mir schon Mühe gegeben mitm Titel
also folgendes Problem:
ich habe eine Klasse FormulaOptimizer, welche dazu dient Formeln zu optimieren. Das kann ersetzen langer Teilstrings bedeutet, sowie ersetzen von Formelteilen durch andere gültige Formeln (mal ein auf normale Mathematik übertragenes Bsp: 3^(-1) * ((2 + 3) * (4 + 5)) sollte dann zu (1/3) * 40 werden, damit der Parser weniger zu tun hat). Dieses Beispiel is nur symbolisch, ich arbeite mit temporalen Formeln, welche aber eben auf ihre Weise optimiert werden können, genauso wie logische Ausdrücke auch optimiert werden können.
So, was der Optimizer dazu wissen muss ist, welche Substrings durch was ersetzt werden und viel wichtiger in welcher Reihenfolge. Bei mir ist es bspw so, das ich reelle Zahlen und dezimale Zahlen ersetze. Damit es hier nicht zu Fehler kommt muss ich zuerst die reellen Zahlen ersetzen, denke das ist klar (Bsp: 1,234.567 müsste ich zuerst erkennen, da sonst in ihr die dezimalen Zahlen 1 234 und 567 erkannt werden könnten).
Was ich mich nun Frage ist, wie ich das am dümmsten designe. Ich hatte die Idee das Ganze ähnlich des message-Parameters in JOptionPanes zu gestalten.
Zur bisherigen Nutzung hätte ich an List<String> gedacht, welche einfach direkt ersetzt werden würde (formel.contains(listElemXY) dann ersetzen. Eine zweite Option wäre die Angabe eines regulären Ausdrucks, welcher mittel Matcher gesucht werden würde (somit könnte ich diese Zahlen filtern). ich würd ungern hard codieren was ersetzt werden soll, aus Gründen der Erweiterbarkeit/Wartbarkeit.
und ablegen wollte ich das dann in "LinkedList<Object>" .. das müsste doch klappen oda
hab mir schon Mühe gegeben mitm Titel
also folgendes Problem:
ich habe eine Klasse FormulaOptimizer, welche dazu dient Formeln zu optimieren. Das kann ersetzen langer Teilstrings bedeutet, sowie ersetzen von Formelteilen durch andere gültige Formeln (mal ein auf normale Mathematik übertragenes Bsp: 3^(-1) * ((2 + 3) * (4 + 5)) sollte dann zu (1/3) * 40 werden, damit der Parser weniger zu tun hat). Dieses Beispiel is nur symbolisch, ich arbeite mit temporalen Formeln, welche aber eben auf ihre Weise optimiert werden können, genauso wie logische Ausdrücke auch optimiert werden können.
So, was der Optimizer dazu wissen muss ist, welche Substrings durch was ersetzt werden und viel wichtiger in welcher Reihenfolge. Bei mir ist es bspw so, das ich reelle Zahlen und dezimale Zahlen ersetze. Damit es hier nicht zu Fehler kommt muss ich zuerst die reellen Zahlen ersetzen, denke das ist klar (Bsp: 1,234.567 müsste ich zuerst erkennen, da sonst in ihr die dezimalen Zahlen 1 234 und 567 erkannt werden könnten).
Was ich mich nun Frage ist, wie ich das am dümmsten designe. Ich hatte die Idee das Ganze ähnlich des message-Parameters in JOptionPanes zu gestalten.
Zur bisherigen Nutzung hätte ich an List<String> gedacht, welche einfach direkt ersetzt werden würde (formel.contains(listElemXY) dann ersetzen. Eine zweite Option wäre die Angabe eines regulären Ausdrucks, welcher mittel Matcher gesucht werden würde (somit könnte ich diese Zahlen filtern). ich würd ungern hard codieren was ersetzt werden soll, aus Gründen der Erweiterbarkeit/Wartbarkeit.
und ablegen wollte ich das dann in "LinkedList<Object>" .. das müsste doch klappen oda