Seite 189 von 202 ErsteErste ... 89139179185186187188189190191192193199 ... LetzteLetzte
Ergebnis 2.821 bis 2.835 von 3026

Thema: [Programmiererstammtisch] "Zum ächzenden Compiler"

  1. #2821
    Frühstücksbonze Avatar von Gullix
    Registriert seit
    21.07.10
    Beiträge
    13.402
    ...also, hmm, probiere ich morgen mal aus. @classmethod wäre aber konzeptuell nicht so passend. Die einzelnen Instanzen wären ja sowas wie "meine private Klavieraufnahme von O Du Fröhliche, Heinos Studioaufnahme von O Du Fröhliche" etc, und ich will über die Lieder einer Sprache iterieren. Klassendekorator hab ich noch nie ausprobiert.

    /edit donk genau das meint ja @classmethod. Du hast völlig Recht.

    Ich hab jetzt in der Kinderklasse eine Helper-Methode gemacht, die ihren Klassennamen hochreicht.

    Code:
    class Weihnachtslied(Enum):
        def getCount(cls: Class) -> int:
            ret = 0
            for song in cls:
                ret += 1
            return ret
    
    class Deutsch(Weihnachtslied):
        def count() -> int:
            return __class__.getCount(Deutsch)
    Immerhin kann ich jetzt anderswo einfach Deutsch.count() aufrufen. Mein Hauptziel war, an den Stellen wo die Aufrufe sind, gut lesbar zu sein.
    Geändert von Gullix (18. Juli 2022 um 19:18 Uhr)
    Mit Naturgesetzen kann man nicht verhandeln. --Harald Lesch

    Ein Atomkrieg würde die Menschheit auslöschen. Hätte aber auch Nachteile.

  2. #2822
    Frühstücksbonze Avatar von Gullix
    Registriert seit
    21.07.10
    Beiträge
    13.402
    ...also, muss man auch erstmal drauf kommen. Ich mache gerade Exception-Handling in Python. Habe mir ein paar Exception-Klassen definiert und in eine eigene Datei gepackt. VS Code ist ja so praktisch, wenn man anfängt den Namen einer Klasse zu schreiben, und tab-completed, fügt er oben in der Datei direkt den nötigen Import ein. Wirklich praktisch.

    Tja, stellt sich raus, VS Code fügt den Import mit einem relativen Pfad ein, also nicht vom current Working directory oder vom $PYTHONPATH aus, sondern von der aktuellen Datei aus, wenn möglich. Ist ja auch kürzer. Nun ist aus Pythons Sicht die Klasse unterordner.exceptions.Fehlerklasse ja bekanntlich was ganz anderes als die Klasse pfad.unterordner.exceptions.Fehlerklasse, also wird es auch nicht gefangen.
    Mit Naturgesetzen kann man nicht verhandeln. --Harald Lesch

    Ein Atomkrieg würde die Menschheit auslöschen. Hätte aber auch Nachteile.

  3. #2823
    Neigt zur Überreaktion Avatar von DerMonte
    Registriert seit
    21.10.13
    Ort
    Erde-1218
    Beiträge
    5.127
    Welche Kombi aus Sprache/Editor(oder IDE)/OS nutzt ihr so? Bei mir wäre so.
    Setup 1:
    Sprache: Python oder JavaScript
    Editor: Visual Studio Code
    OS: Windows 11
    Setup 2:
    Sprache: C-Sharp
    Editor: Visual Studio 2017
    OS: Windows 11
    Geändert von DerMonte (09. August 2022 um 18:22 Uhr)

  4. #2824
    Wolf im Krokodilpelz Avatar von Mongke Khan
    Registriert seit
    25.06.11
    Ort
    KA
    Beiträge
    19.055
    Setup1
    Sprache: C++, GLSL, Vulkan
    IDE: Visual Studio
    OS: Win10

    Setup2
    Sprache: Pyhton
    IDE: Visual Studio Code
    OS: Win10/WSL

    Wenn die MA rum ist, überlege ich aber, VS Code in Rente zu schicken und eher Pycharm zu nutzen. Wobei VS Code wohl als ad hoc Editor/ Interface für WSL bleibt

  5. #2825
    Administrator
    Registriert seit
    20.08.04
    Beiträge
    8.965
    Als adhoc-Editor ist VS Code super.
    Verstand op nul, frituur op 180.

  6. #2826
    Kunst am Arier Avatar von Snup
    Registriert seit
    09.12.09
    Ort
    Halle
    Beiträge
    12.981
    VS für C#/C++ und VS Code (selten auch Notepad++) für Kram wie Node.js/Typescript. Alles auf Windows.

  7. #2827
    Süß und knuddlig Avatar von Schlumpf
    Registriert seit
    03.11.13
    Beiträge
    7.968
    Entweder vim oder vs code mit eigentlich allem was ich so benutze (C++,python,vhdl,Typescript usw) und ab und zu pycharm mit python. 90% mit Linux oder WSL.
    Meine Liste:
    1. K
    2. T
    3. V

  8. #2828
    ¡Olé! Avatar von Harleen
    Registriert seit
    07.01.06
    Ort
    Bremen
    Beiträge
    9.359
    Setup1
    Sprache: C++
    IDE: Visual Studio 2013
    OS: Win7

    Setup2
    Sprache: Ada
    IDE: GPS
    OS: Win7

  9. #2829
    Neigt zur Überreaktion Avatar von DerMonte
    Registriert seit
    21.10.13
    Ort
    Erde-1218
    Beiträge
    5.127
    Du Sicherheitsrisiko!

  10. #2830
    Registrierter Benutzer
    Registriert seit
    29.06.06
    Ort
    Schwabenländle
    Beiträge
    2.371
    Ich arbeite an einem neuen Projekt. Da ich meinen Job gekündigt habe, also eher was privates das ich mir einfach gesucht habe.

    Ich habe mich hier Transport Fever 2 bedient.

    Die Bedingungen die ich versucht habe abzubilden sind inzwischen relativ genau. Es könnte sein das der Luftwiderstand noch ne Rolle spielt, aber das ändert an der Problematik leider nichts.

    Excel soll anhand der Daten die ich vorgebe, die verschiedenen Loks mit unterschiedlichen Gewichten bewerten. Wie ich das alles mache, ist mir klar. Zumal das "bewerten" auch etwas komplexer sein soll, da er es mit verfügbaren und nicht mit allen Loks abgleichen soll und mit vorherigen vergleichen sowie den Mehrwert bewerten soll anhand der Nutzungsdauer (Lok-Kosten, Mehrertrag und Nutzungsdauer bis ne andere Lok besser wird -> Refinanzierung) und natürlich über unterschiedliche Strecken.

    Das Problem das ich aktuell habe ist, das die Beschleunigung nicht linear verläuft und nicht mal einer Funktion folgt sondern zwei Funktionen.

    Beim Anfahren ist die Zugkraft faktisch unendlich (ich rechne mit 10.000, da die stärksten Züge um den dreh rum sind und ich nicht ausschließen kann das die Gameplaymechanik ne Obergrenze hat, will den Wert aber noch anpassen ggf.). Ab einem bestimmten Wert (wenn verfügbare KN < theoretische Kn des Zuges) geht die Beschleunigung dann in die normale Beschleunigungsfunktion über.

    In Excel bedeutet das im Kern:
    Wenn(KW*3,6/V > KN; KN/t; (KW*3,6)/(V*t))

    Die Variable hier ist V. V hat den Definitionsbereich 0-Vmax der Lok. Wenn Vmax erreicht, dann wird a=0

    Diese Funktion muss ich nun so verändern/implementieren, das ich mit ihr die Zeit für eine Strecke berechnen kann.

    Die einfachste Variante wäre, wenn ich eine Exponentialfunktion finde, welche das abbilden kann. Also eine Funktion die durch 0/0 geht, dann einen Hochpunkt bei KN/t hat und dort dann sich an die X-Achse annähert für x -> Vmax. KN wird durch die ausgewählte Lok vorgegeben.

    Mein Mathe ist leider schon etwas eingerostet, als das ich noch weis wie das geht.
    Und wie rechne ich damit in Excel? Wenn VBA, dann idealerweise so, das es permanent läuft quasi ohne das ich was aktivieren muss. Sobald sich was ändert im Dokument, egal was, rechnet er neu.

    Danke für eure Hilfe


    P.S.
    Ich habe die rechnung bisher in einer Tabelle vorgenommen. Aber das ist etwas tricky, da es zuviel Platz kostet. Ich müsste im Kern pro Lok und pro Gewicht eine Tabelle machen auf die das Programm zugreift und mit den dortigen Intervallen rechnet. Das muss eleganter gehen...
    Geändert von nordstern (03. September 2022 um 02:56 Uhr)
    Ich bin Legastheniker. Wer also Rechtschreibfehler oder unklare Formulierungen findet, darf sie gerne behalten :)

    Ich nutze in allen meinen Beiträgen grundsätzlich die in meinen Augen geschlechtsneutrale Bezeichnung, sofern ich keinen konkretes Objekt oder eine Person meine. So sind Äußerungen wie DER Lehrer oder DIE Krankenschwester oder DER Pfleger lediglich Berufsbezeichnungen und daher geschlechtsneutral in meinen Augen, ebenso wie DER Mond oder DIE Sonne.

  11. #2831
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von nordstern Beitrag anzeigen
    In Excel bedeutet das im Kern:
    Wenn(KW*3,6/V > KN; KN/t; (KW*3,6)/(V*t))

    Die Variable hier ist V. V hat den Definitionsbereich 0-Vmax der Lok. Wenn Vmax erreicht, dann wird a=0
    V ist keine Variable. Die Variable ist t, und V ist eine Funktion in Abhängigkeit von t, also V(t). Ebenso a(t). Wenn du die Kraft und Masse kennst, dann kannst du a(t), v(t) und die Strecke s(t) berechnen.

  12. #2832
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Ach ja, die Kraft kann ja ebenfalls von der Zeit abhängen. Also hat man dann folgende Differentialgleichung: F(t) = m * a(t), wobei a(t) die zweite Ableitung von s(t) ist.

  13. #2833
    Registrierter Benutzer
    Registriert seit
    29.06.06
    Ort
    Schwabenländle
    Beiträge
    2.371
    Wobei t aber in meinem Fall nicht die Zeit ist bei dem was ich geschrieben habe sondern für Tonnen steht, also Gewicht.

    Ich denke das die X-Achse V ist, die Y-Achse t und der Integral dann die Strecke.

    Ich kenne die Rechnung. Die Sache ist nur, das dabei die Anfahrtskraft, also die Kraft gegen den Rollwiderstand (hier 10.000 KN/Masse in t) ehe es in die Funktion F(t). Und das Spiel rechnet mit dem Faktor 3,6.
    Ich bin Legastheniker. Wer also Rechtschreibfehler oder unklare Formulierungen findet, darf sie gerne behalten :)

    Ich nutze in allen meinen Beiträgen grundsätzlich die in meinen Augen geschlechtsneutrale Bezeichnung, sofern ich keinen konkretes Objekt oder eine Person meine. So sind Äußerungen wie DER Lehrer oder DIE Krankenschwester oder DER Pfleger lediglich Berufsbezeichnungen und daher geschlechtsneutral in meinen Augen, ebenso wie DER Mond oder DIE Sonne.

  14. #2834
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    t steht in physikalischen Formeln typischer Weise für die Zeit, nicht für Tonne, was ja auch nur eine Einheit ist (für Masse). Generell solltest du, wenn du Formeln aufschreibst, keine Einheiten verwenden, sondern Variablen (am besten die gängisten Bezeichnungen wie t für Zeit, F für Kraft, m für Masse usw.) Einheiten sind erstmal nebensächlich.

    Kraft = Masse x Beschleunigung, dass ist der Start der Rechnung. Mit der üblichen Symbolik: F(t) = m x a(t) (oder nur F wenn die Kraft nicht von der Zeit abhängt). Das ist die Gleichung für eine konkrete Masse. Für unterschiedliche Werte hast du halt mehrere Gleichungen.

    Ich würde dir empfehlen, dass du deine Rechnungen erstmal für eine konkrete Masse machst.

  15. #2835
    Frühstücksbonze Avatar von Gullix
    Registriert seit
    21.07.10
    Beiträge
    13.402
    ...also, Python macht tolle Dinge. Ich möchte zu einer MySQL-Datenbank verbinden. Habe pip install mysql-connector-python gemacht, und das lief auch anstandslos durch. Jetzt würde man denken, das ist da.

    In der interaktiven Shell erzeugt import mysql.connector keinen Fehler. Wenn ich ein Skript schreibe, mit nur genau der einen Zeile import mysql.connector, kommt ein ModuleNotFoundError: No module named "mysql". Ich dachte, das wäre dasselbe.


    /edit und nach ein bisschen hin-und-her wechseln zwischen Python-Umgebungen und in der anderen (definitiv nicht benutzten) Umgebung auch mysql-connector-python installieren geht es jetzt. Was auch immer.
    Geändert von Gullix (05. September 2022 um 10:04 Uhr)
    Mit Naturgesetzen kann man nicht verhandeln. --Harald Lesch

    Ein Atomkrieg würde die Menschheit auslöschen. Hätte aber auch Nachteile.

Seite 189 von 202 ErsteErste ... 89139179185186187188189190191192193199 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •