portix schriebls berechnet auch zuerst die Länge des längsten Strings und setzt dann die Spaltenbreite entsprechend, da wird man auch nicht drum herum kommen, es ist halt nur die Frage ob man das selbst machen will oder eine fertiges Tool oder eine Library dafür benutzen will.
Genauso habe ich das bisher auch gelöst. Der Screenshot oben zeigt das ja und die Formatierung bleibt auch noch dann erhalten, wenn mal Schwankungen in den Prozentwerten bzw. bei den Zahlenwerten vorkommen. Auch wenn ich statt Level-10/20-Worte (das zeigt an, daß die bisher höchste erreichte Stufe 10 ist und 20 die maximal-Stufe, die man aber modifizieren kann), so etwas wie Level-7/8-Worte dastehen hätte, würde die Tabelle noch schön aussehen. Im Moment mache ich mir gerade Gedanken darüber, wie man diese Statistik noch übersichtlich gestaltet, wenn man viele Lektionen quer-beet lernt. Eine Lektion entspricht qausi einer SQL-Tabelle mit Worten, zum Beispiel eine Lektion für den Grundwortschatz. Später soll ich dem Progamm dann sagen können ich möchte nur die Lektion XY lernen - oder eben auch alle vorhandenen. In letzteren Fall hätte man eben für jede Lektion selbst so eine Tabelle - von vielen Lektionen bin ich zur Zeit zwar weit entfernt, aber ich möchte später bequem nach und nach weitere hinzufügen können. Wenn man die Statistik-Tabellen aber dann einfach nur alle hintereinander ausgibt wird es eben irgendwann unübersichtlich. Wie gesagt hätte ja sen können, daß es schon fertige Tools gibt, die meinen Vorstellungen entsprechen. Auch so etwas wie eine Seitenweise Darstellung ist nicht zwingend Notwendig, man könnte auch andere Lösungen finden, z.B: Optionen mit optionalen Argumente mit denen man dann auswählen kann für welche Lektionen man die Statistik sehen will.
Dirk schriebharald91 schriebDer Code dafür ist hässlich und unübersichtlich und bevor ich mir die Mühe mache selbst eine saubere Lösung zu finden, wollte ich mich mal erkundigen, ob es irgendwelche Tools gibt derer ich mich bedienen kann und die mir etwas Arbeit abnehmen.
Wie wäre es mit einer ncurses-Anwendung?
Btw. kommen bei deiner Berechnung nur 99,99 Prozent, bzw. 100,07 Prozent raus. 🙂
ncurses sieht interessant aus - kann ich aber nicht 😉 - aber ich werde es mir mal anschauen, wenn ich damit machen kann was ich möchte lohnt es sich vermutlich sich einzuarbeiten. Die 99,99 sind eben gerundet auf zwei Nachkommastellen. Die 100,07 darf man nicht addieren. Die Werte sind unabhängig.
edit: Weiß jemand wie das in der zsh umgesetzt ist. Da kann man doch auch aus den Vervollständigungsvorschlägen mit den Pfeiltasten auswählen.