Übersicht über alle gültigen Variablen

  • Ja.


    Insbesondere wenn ich auf dem flaschen Fuß erwischt werde.


    Gruss
    Uwe, z. Zt. ohne Glaskugel

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

  • Nur so als Hinweiß, mein "hahaha" bezog sich nicht auf den Vorschlag bzgl. Umsetzung. Das passiert ja sehr oft, dass jemandem der ein "Hello World" Programm schreiben kann absolut nicht bewusst ist, was es heißt ein Feature in einem Projekt mit solcher Größe umzusetzen.


    Mein "hahaha" bezieht sich auf

    Und es sollte jedem Entwickler eine Ehre sein, solches unaufgefordert zu implementieren.


    Ich finde es einfach lustig, was manche Leute von uns als selbstverständlich ansehen :)


    Für den Vorschlag an sich ist mir sogar eine Möglichkeit der Umsetzung eingefallen, die nicht einen kompletten Umbau nach sich ziehen würde. Allerdings basiert die Umsetzung auf Hashes und funktioniert damit nur in geschätzten 99% der Fällen. Mal überlegen, ob das so öffentlich geht oder nicht


    lg
    Lukas

  • Lukas


    Ich klinke mich mal aus der Diskussion aus.
    Anstelle von Antworten auf Fragen, die ich gestellt habe, untestellst du mir unterschwellig, dass ich ein "Hello World" Programm zu schreiben vermag. [Ironie]Ich könnte auch ein "Hello Lukas" schreiben[/Ironie].
    Diese Programme dienen nur dazu, die Werkzeuge, um ein Programm zu schreiben, kennenzulernen und hat überhaupt nichts mit der Ablauflogik zu tun.


    Ich weiss ja nicht, in welcher Sprache Loksim geschrieben ist, ich nehme mal an C++. Es ist sowieso irrelevant, da der Logikfluss entscheidend ist für das richtige Funktionieren und das Design der Features.
    Falls die Sache sich nicht in Spaghetticode verheddert, gibt es sicher ein Modul, das die Bedingungen eruiert und liefert ein GO bzw. NOGO zurück. In diesem spezifischen Modul checkt man, abhängig vom Datentyp (bool, nummerisch, alphanummerisch), ob die einzelnen Subbedingungen zutreffen oder nicht.


    lg
    Bruno

  • Hallo Bruno,


    erstens hast Du Antworten zu Deinem Problem erhalten. Auch ist die Dokumentation m. E. durchaus geeignet, die Fragen zu beantworten.
    Zweitens kann jeder 'Hello World' in jeder Sprache nach kurzer Zeit schreiben, das ist aber nicht das, was Lukas bemängelt.


    Es ist die Erwartungshaltung, die mit:

    Und es sollte jedem Entwickler eine Ehre sein, solches unaufgefordert zu implementieren.

    ausgedrückt wird.


    Wir alle müssen unser Geld mit ehrlicher Arbeit verdienen, da bleibt für den Loksim nicht immer die Zeit, die wünschenswert wäre. In dieser Situation ein solches Statement 'rauszuhauen befördert nicht unbedingt die Motivation der Entwickler.


    Nur noch mal kurz zum Mitmeisseln:
    Die Umsetzung eines Vorschlages ist von der Situation im Programmcode, den persönlichen Möglichkeiten der Entwickler, dem notwendigen zeitlichen Aufwand und dem Nutzen für den Loksim bzw. der aktiven Addon-Entwickler abhängig.


    Gruss
    Uwe

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

  • Hallo Wodan,


    interessehalber: In welcher Programmiersprache sind X'61626320' und X'61626331' gültige Ganzzahl-Literals? Und in welchem Encoding sind sowohl ein dreistelliger als auch ein vierstelliger String 4 bytes lang, selbst wenn man nur mit alphanumerischem Zeugs rumfuchtelt (okay, Leerzeichen ans Ende packen ist mehr oder weniger legitim, lassen wir das mal so durchgehen). Und welche Bordmittel deiner Programmiersprache sind in der Lage, beliebig große Ganzzahlen zu vergleichen, damit dir nicht bei 32 Buchstaben oder mehr dein ganzer String-Vergleich um die Ohren fliegt?


    Ist ja nicht so, als wären String-Vergleiche Teufelswerk (die Java-API hat dafür z. B. Bordmittel, wenn ich mich recht erinnere), aber das funktioniert dann doch ein bisschen sehr anders. Ich nehme allerdings ganz akut an, dass das Problem eher die Integration in die Architektur des Bestandscodes ist als die String-Vergleiche an sich. Ich durfte ja mal in den Loksim-Quellcode gucken und habe dann aber doch kalte Füße gekriegt, bevor ich irgendwas beitragen konnte... mein Durchhaltevermögen ist nicht wirklich das Beste.


    Du trittst hier also nicht nur unglaublich privilegiert gegenüber Leuten, die ihre Freizeit für die Community opfern, auf, sondern zeigst dabei auch noch das klassische Dunning-Krueger-Syndrom. Was ich persönlich ziemlich unterhaltsam finde, aber für deine Ziele vermutlich kontraproduktiv ist. :/

  • Hallo Stefan,

    Ich durfte ja mal in den Loksim-Quellcode gucken und habe dann aber doch kalte Füße gekriegt, bevor ich irgendwas beitragen konnte... mein Durchhaltevermögen ist nicht wirklich das Beste.

    naja, ganz so schlimm ist es nun auch wieder nicht. :) Aber es gibt in Tat dort Ecken, die sind gruselig.
    Und bzgl. Durchhalten: Das kann man üben. ^^ Ist auch eine Zeitfunktion.


    Gruss
    Uwe

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

  • @taler
    Ich habe einige Fragen beantwortet erhalten, soweit ist das klar. Ich habe auch nie erwähnt, dass alle Fragen nicht beantwortet wären. Es ist nur so, dass man zwar eine Behauptung aufstellen kann, die möglicherweise sogar richtig ist, ich sie aber überprüfen möchte und erwähne, dass ich im Handbuch nix darüber finde. So erwarte ich doch einen Hinweis, auf welcher Seite ich das nachlesen kann. Ich habe im Acrobat nach den Stichwörtern Operand, dezimal und ganzzahlig durchsucht und nix schlaueres darüber gefunden, als ich schon wusste.
    Ich wollte mit meinen Interventionen und Vorschlägen sicher nicht eure Arbeit und Engagement in Zweifel ziehen. Wenn das so rüber gekommen ist, tut es mir leid und ich entschuldige mich für eventuelle Missverständnisse.


    @Taschenschieber
    X'61626320' ist ein vierstelliger Wert im Speicher oder auf dem Disk. Und es ist sicher kein Ganzzahlliteral, die ausgedeutschten Daten sind nämlich "abc ", und ist ein alphanummerisches Literal. Deshalb ist es ja auch nicht vergleichbar in Loksim, da hier nur ganzzahlige Operanden verglichen werden können. Wenn du mir dieses Dunning-Kruger Syndrom unterschieben willst, wenn ich darauf aufmerksam mache, dass man eine Variable auch in allen Situationen benutzen können sollte (auch Vergleichen), wenn man sie einführt (konkret: FahrplanDaten), so lasse ich das mal so gelten.


    lg
    Bruno

  • @Taschenschieber
    X'61626320' ist ein vierstelliger Wert im Speicher oder auf dem Disk.


    Und in welcher Programmiersprache notiert man das so?


    Zitat

    Und es ist sicher kein Ganzzahlliteral, die ausgedeutschten Daten sind nämlich "abc ", und ist ein alphanummerisches Literal.


    0x61626320 ist ein Ganzzahlliteral. Du kannst dieses Ganzzahlliteral als ASCII-Kodierung des String-Literals "abc " auffassen, aber trotzdem ist es ein Ganzzahlliteral. Wenn es keine Zahl wäre, würde der Vergleich mit < / > ja keinen Sinn machen. Abgesehen davon war dein Beispiel-String ja nicht "abc ", sondern "abc". Und das letzte Mal, als ich nachgeguckt hatte, war "abc" weder in ASCII noch in UTF-8 noch in UTF-16 vier Bytes lang.


    Zitat

    Deshalb ist es ja auch nicht vergleichbar in Loksim, da hier nur ganzzahlige Operanden verglichen werden können. Wenn du mir dieses Dunning-Kruger Syndrom unterschieben willst, wenn ich darauf aufmerksam mache, dass man eine Variable auch in allen Situationen benutzen können sollte (auch Vergleichen), wenn man sie einführt (konkret: FahrplanDaten),


    Ja, es ist prinzipiell eine brauchbare Idee. Nur kriege ich bei deinen Aussagen nach wie vor den Eindruck, dass du nicht besonders viel Code schreibst und dann groß daherredest, weil deine Umsetzungsvorschläge völlig an der Wirklichkeit vorbeigehen. Und das nennt sich dann eben Dunning-Krueger-Effekt.

  • Hallo Bruno,


    in der Doku ist ab Seite 120 die Sichtbarkeitssteuerung am Beispiel eines Zugzielanzeigers beschrieben. Ich bin mir sicher, das Klaus weiß, was er schreibt.
    Ich glaube auch, das Klaus den ZZA ausgiebig auf seiner U5? eingesetzt hat. Dort kann man bestimmt auch nachsehen. Weiterhin gibt es mehr als eine Stelle, an der man eine Variable definieren kann. Und wenn ich das ganze richtig verstanden habe, das beträgt der Wertebereich [0,1].


    Der Rest ist leider ausprobieren...


    Gruss
    Uwe

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

    Einmal editiert, zuletzt von taler ()

  • Es ist nur so, dass man zwar eine Behauptung aufstellen kann, die möglicherweise sogar richtig ist, ich sie aber überprüfen möchte und erwähne, dass ich im Handbuch nix darüber finde. So erwarte ich doch einen Hinweis, auf welcher Seite ich das nachlesen kann.

    Auch ein Blick in die "Dokumentation neuer und geänderter Funktionen" zahlt sich manchmal aus


    Ansonsten ist es ja recht nett über die Möglichkeiten einen Stringvergleich durchzuführen zu plaudern. Solange es nicht um eine Anwendung geht die alle Feinheiten dahingehend beachten muss (wens interessiert kann sich zB den Unicode Collation Algorithm anschauen), enthält jede mir bekannten (ernsthafte :) ) Programmiersprache eine fix-fertige Funktion für sowas. Abgesehen davon, dass man soetwas auch selbst noch zusammenbringen könnte ;)


    Aber ok, wenn es wirklich Thema ist, kann ich ja mal ein paar Punkte anführen warum das nicht einfach eine schnelle Änderung ist. Ich mache das auch deshalb, weil ich früher ebenfalls öfters geglaubt habe "das kann ja nicht so schwer sein." Aber wenn man dann an ein paar größeren Software-Projekten (mit)gearbeitet hat, überlegt man sich 10x ob man so eine Aussage bei Code von dem man keine Ahnung hat tätigen soll...

    • Die Sichtbarkeitssteuerung ist ja nicht einfach ein Vergleich von "Gott gegebenen Daten", sondern die Daten müssen auch irgendwo herkommen. D.h. der vom Benuter eingegebene Ausdruck muss geparst werden und dies müsste dann für Strings erweitert werden
    • Es ist ein gewaltiger Unterschied ob man soetwas für einen einzigen Datentyp (Ganzzahlen) oder mehrere Datentypen umsetzt. Schon alleine die Konvertierungsregeln bzw. dann notwendigen diesbezüglichen Implementierungen bedeuten einen Haufen Aufwand. Man müsste dann Situationen wie ("BlaBla" - 1) > "Ups" beachten.
    • Es ist ein großer Unterschied ob ich beim Abspeichern von Daten den Datentyp fix weiß oder ob ich mit verschiedenen Datentypen umgehen muss - sowohl von der Performance her als auch von der Komplexität der Umsetzung
    • Es geht hier nicht um irgendeinen Altcode, sondern relativ neuen von mir geschriebenen. Aber trotzdem habe ich ihn damals rein für Ganzzahlen geschrieben - aufgrund Aufwand Umsetung als auch Performance. Die - später hinzugekommenen - dynamischen Schriften können auch mit Strings umgehen, sind intern aber eigentlich ziemlich was anderes, abgesehen von einer ähnlichen Syntax

    Wie gesagt, die Umsetzung mit Hashes sollte im Normalfall gut genug sein also ist es ja sowieso gelöst.


    Und wie gesagt, mir ists nie ums Thema an sich gegangen, sondern nur um die Art und Weise wie man soetwas "vorschlägt"... (Wobei ja fordern hier vmtl das treffendere Wort wäre)


    lg
    Lukas