Engywuck
Geowizard
Da ja an anderer Stelle schon fleißig über den Solver diskutiert wird, wollte ich mal eine Idee in die Runde werfen, die den Komfort für erfahrene Solver-Nutzer erhöhen könnte:
Ich fände so etwas wie die Möglichkeit einer Makrodefinition im Solver lecker. Ich könnte mir das so vorstellen:
Man definiert ein Makro, dass im Grunde eine Zusammenfassung von Solvercode darstellt. Damit man auch was damit anfangen kann natürlich mit Argumentsubstitution.
Ok, Anwendungsfall: Ein Owner findet es super, die Werte für die Buchstabensummen so zu definieren: A=26, B=25, C=24... Die kann man auch berechnen mit length("Wort")*27-val("Wort"). Wenn dies jetzt überall in den Berechnungen verwendet wird, wo Buchstabensummen (eben hier die modifizierte) verwendet werden, wird es schnell unübersichtlich. Andererseits wäre es auch doof, für so abgefahrene Teile eigene Funktionen zu definieren. Daher definiert man hier ein Makro:
macrodef("xval", 1, "(length(%1)*27-val(%1)")
Das erste Argument gibt den Namen des Makros an, das zweite die Anzahl der Argumente, diese werden im Makro mit %1, %2, %3 etc. referenziert. Verwendet würde die Formel dann mit
xval("Wort")
was schon deutlich übersichtlicher aussieht. Andere Anwendungsfälle:
Wenn man hier viel Text zulässt, kann man auch komplexere häufiger wiederkehrende Aufgaben zusammenfassen. Sei WP ein Wegpunkt, so könnte z.B. der Codeabschnitt
goto(WP)
center(WP)
"Nächstes Ziel: "WP
ersetzt werden durch
deploy(WP)
Oder auch die Funktion zum berechnen der Einer-, Zehner oder Hunderter... Stelle einer Zahl:
macrodef("stelle", 2, "mid(reverse(%1),%2,1)")
macht aus
A=mid(reverse(X),2,1)
einfach
A=stelle(X,2)
Wer öfter den Solver befüllt (so wie ich), kann damit sicher was anfangen...
Gruß,
E.
Ich fände so etwas wie die Möglichkeit einer Makrodefinition im Solver lecker. Ich könnte mir das so vorstellen:
Man definiert ein Makro, dass im Grunde eine Zusammenfassung von Solvercode darstellt. Damit man auch was damit anfangen kann natürlich mit Argumentsubstitution.
Ok, Anwendungsfall: Ein Owner findet es super, die Werte für die Buchstabensummen so zu definieren: A=26, B=25, C=24... Die kann man auch berechnen mit length("Wort")*27-val("Wort"). Wenn dies jetzt überall in den Berechnungen verwendet wird, wo Buchstabensummen (eben hier die modifizierte) verwendet werden, wird es schnell unübersichtlich. Andererseits wäre es auch doof, für so abgefahrene Teile eigene Funktionen zu definieren. Daher definiert man hier ein Makro:
macrodef("xval", 1, "(length(%1)*27-val(%1)")
Das erste Argument gibt den Namen des Makros an, das zweite die Anzahl der Argumente, diese werden im Makro mit %1, %2, %3 etc. referenziert. Verwendet würde die Formel dann mit
xval("Wort")
was schon deutlich übersichtlicher aussieht. Andere Anwendungsfälle:
Wenn man hier viel Text zulässt, kann man auch komplexere häufiger wiederkehrende Aufgaben zusammenfassen. Sei WP ein Wegpunkt, so könnte z.B. der Codeabschnitt
goto(WP)
center(WP)
"Nächstes Ziel: "WP
ersetzt werden durch
deploy(WP)
Oder auch die Funktion zum berechnen der Einer-, Zehner oder Hunderter... Stelle einer Zahl:
macrodef("stelle", 2, "mid(reverse(%1),%2,1)")
macht aus
A=mid(reverse(X),2,1)
einfach
A=stelle(X,2)
Wer öfter den Solver befüllt (so wie ich), kann damit sicher was anfangen...
Gruß,
E.