Angepinnt Lua-Tutorialreihe der etwas anderen Art

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Lua-Tutorialreihe der etwas anderen Art

      Guten Abend,
      ich habe einen Teil meiner Zeit in den letzten Wochen mit dem Schreiben eines ausführlichen Lua-Tutorials verbracht. Das Ganze ist als Tutorial-Reihe geplant und wird zunächst in 3 Teile gegliedert sein, die ich nacheinander, sobald sie verfügbar sind, verlinken werde.

      Den Sourcecode habe ich darüber hinaus auf GitHub veröffentlicht: github.com/Jusonex/LuaTutorial-de

      Teile
      1) Lua: Grundlagen
      2) Lua: Fortgeschrittene Themen
      3) Objektorientierung allgemein und in Lua
      4) Lua angewandt - MTA:SA (nicht verfügbar)

      Besonderheiten
      Inspiriert von Codecademy habe ich versucht ein interaktives Konzept umzusetzen, bei dem der Leser auch selbst Code schreiben muss und nebenher Codebeispiele live im Browser ausführen kann.
      Näheres dazu und Informationen zur genauen Benutzung findet ihr im Tutorial.

      Fehler und Feedback
      Wie auch im Tutorial erklärt befindet sich das Tutorial noch in einem Anfangsstadium, also bitte ich um Feedback, wenn einzelne Teile zu ungenau oder uneindeutig geschrieben sind (oder auch Rechtschreibfehler enthalten). Wenn sie keine weitere Diskussion benötigen, bitte direkt per PN.

      Mitarbeit
      Wenn jemand Lust hat an der Sache mitzuwirken, würde ich mich freuen, wenn die Person sich per PN bei mir meldet (und bekommt dann Push-Rechte auf GitHub).
      Wenn es nur um die Änderung einer Kleinigkeit geht, könnt ihr auch einen Pullrequest auf GitHub erstellen.

      Besonderen Dank an
      • @Doneasty für das Erstellen der Grafiken
      • alle, die konstruktives Feedback gegeben haben
    • Ich kanns mir nicht erklären aber da isn Fehler. [Blockierte Grafik: http://imgur.com/euJ39Pw]
      imgur.com/euJ39Pw
      Heilige Momente auf eXo-Reallife:
      Spoiler anzeigen

      Nr 1. LCN Member nach dem Gangwar: "Ich schwöre Zug hat mir mehr DMG gemacht als ganz Ballas".
      Nr 2. LCN-Leader im Teamspeak: "Mein Opa hat U-Boote gebaut".
      Nr 3. LCN-Leader wenn er zockt und dabei trinkt: "Leute bin ich hacke"?


    • Das liegt daran, dass es nicht responsive ist und soweit ich es verstanden habe auch weiters nicht für die mobile Ansicht ausgelegt ist.
      PR/Marketing/Communtity Dude bei nanos.io
      "Cash rules everything around me: CREAM, get the Money Dollar, dollar bill y'all"
      Zitateliste auf meinem Profil-stets aktuell
      Zertifizierter Satanisten-Nazi-Ex-Admin
      twitter.com/dennismitzwein
    • Witzige Idee, nur für richtige Anfänger ist es trotzdem schwer..
      Einige Dinge werden nur kurz erwähnt und dann muss man sie direkt ausführen, vielleicht ein Wiki o.ä als Hilfe anbieten?^^

      Was mir auch aufgefallen ist, sobald ich den "Tester" einmal minimiere ist alles vorgeschriebene gelöscht.. vielleicht den Tester transparent machen, sodass man auch den Hintergrund sehen kann.. :)

      EDIT:// Durch das Tutorial lerne ich viele Dinge, soetwas habe ich gebraucht. :)
      Echt klasse gemacht und ich freue mich rießig auf die anderen Teile, mach weiter so! ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von FFrozen ()

    • FFrozen schrieb:

      Was mir auch aufgefallen ist, sobald ich den "Tester" einmal minimiere ist alles vorgeschriebene gelöscht
      Habe es jetzt so gelöst, dass der Code nicht gelöscht wird, sondern bleibt, wenn du den Tester wieder öffnest. Wenn man es transparent macht wird es, glaube ich, unlesbar.


      FFrozen schrieb:

      Einige Dinge werden nur kurz erwähnt und dann muss man sie direkt ausführen
      Da wäre es schön, wenn du die konkreten Stellen nennst, dann kann ich dort noch nachbessern.
    • Das sieht nach einer Menge Arbeit aus und macht einen professionellen Eindruck. Respekt und Danke dafür auf jedenfall. Für Anfänger ist die Lernkurve vielleicht dennoch ein wenig zu happig, wie ich finde.

      Das Thema Funktionen ist recht knapp bemessen und nach dem Text die Aufgabe hat mir dann den Rest gegeben, bei der "Gaußschen Summenformel" war ich raus, dazu bin ich dann wohl doch schon zuuu lang aus der Schule raus.

      Ansonsten aber eine richtig coole Sache und größten Respekt, dass du dir da mal richtig Gedanken gemacht hast wie man sowas umsetzen kann. Das wird noch groß rauskommen. :P
    • Zunächst danke für die Feedbacks.

      Dass die Übungen teilweise zu schwer sind habe ich jetzt schon von mehreren Quellen gehört, daher werde ich da nachbessern und Teile entsprechend erweitern (daher wäre es super, wenn ihr mir genaue Stellen nennt).

      Ansonsten auch hier noch einmal der Aufruf: Da ich das Ganze jetzt auf GitHub veröffentlicht habe (github.com/Jusonex/LuaTutorial-de) und dort "weiterentwickeln" werde, ist jeder herzlich eingeladen konkrete Stellen per Pullrequest abzuändern. Wenn jemand größeres Interesse daran hat mitzuarbeiten (auch insbesondere bei weiteren Kapiteln), vergebe ich selbstverständlich auch Push-Rechte.

      Insofern ist das Ganze als Open-Source Buch gedacht, sodass es solange verbessert wird, bis es hoffentlich irgendwann einmal perfekt ist und alle Themenbereiche abdeckt.
    • Wirklich sehr gut gemacht. Das wichtigste wird sehr verständlich erklärt.

      Bei der Aufgabe mit der Graußischen Summenformel bin ich auch ausgestiegen. :)

      Freue mich sehr auf das Fortgeschrittenen Tutorial, ich glaube da kann ich einiges lernen.
      Speziell im OOP Bereich.

      Vielleicht gibts auch noch eine kleine Einführung in die Classlib von sbx mit dazu.
      [Blockierte Grafik: http://exo-reallife.de/pages/signatur/signaturen/1.png]
      Ihr sucht einen guten MTA German Roleplay (Reallife) Server?

      Dann seid ihr auf eXo Reallife genau richtig!
      ► eXo Reallife
      ► MTA Server IP: 94.23.247.90:22003
      ► Teamspeak³ IP: ts.exo-reallife.de
    • Ich hatte keine Probleme mit den Aufgaben, fand alles also recht einfach.

      Paar Tipps:
      Man könnte bei der Übung mit der Summe aller Zahlen von 1-1000 auch da rein schreiben, dass die Summe erwartet wird.
      Da steht nur, dass man alle Zahlen von 1 bis 1000 berechnen soll:

      In dieser Übung soll eine Funktion geschrieben, die die Summe aller Zahlen von 1 bis 1000 einmal mithilfe einer Schleife und einmal mit derGaußschen Summenformel berechnet.
      Hat mich persönlich etwas irritiert.


      Außerdem steht bei Datentypen:

      <ul style="box-sizing: border-box; margin-bottom: 10px; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px;">...nur aus ASCII Zeichen bestehen (d.h. Sonderzeichen und Umlaute sind nicht erlaubt)
      Ist Unterstrich "_" nicht auch ein Sonderzeichen?
      Wenn ich nach ASCII Zeichen suche, wird mir z.B. das hier angezeigt:
      [Blockierte Grafik: http://pokit.org/get/img/71504c64ff7dd4295cf17b7be1f8447a.jpg]
      Glaube daher, man sollte es da anders schreiben.


      Außerdem diese Info:

      Pro tip: Um die Anzahl der Element in einer Table zu ermitteln, kann ähnlich wie bei Strings der #-Operator verwendet werden.
      Hier sollte man unbedingt auch mitschreiben, dass es NUR für Tabellen geht, bei denen das Index von 1 bis n ohne Lücken geht.
      Dabei wird das höchste Index genommen, welches als höheren Index nil hat.
      Wenn die Tabelle von 1 bis 10 gehen würde und 5 nil wäre, dann wäre #tabelle => 4.
      Man sollte da auch direkt erwähnen, wie man es trotzdem machen könnte, also indem man die Tabelle einzeln durchgeht und jeden Eintrag selber zählt.


      Edit:
      Ich komm mit GitHub gar nicht klar, ich habe da bisschen rumgesucht, habe Pull request versucht, aber weiß da nicht weiter.
      Wenn man nie damit gearbeitet hat, kommt man da gar nicht zurecht, daher konnte ich leider kein Pullrequest nutzen.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Gelöschter Benutzer ()

    • Habe jetzt hoffentlich alle Dinge, die hier angesprochen wurden ausgemerzt.

      Wie Bonus schon sagte war die Aufgabe mit der Summenformel etwas zu unpräzise formuliert. U.a. deswegen habe ich sie jetzt komplett rausgenommen und durch 2 andere Aufgaben ersetzt.
      An der Stelle hielt ich die Summenformel für ganz passend, um zu verdeutlichen, dass man den selben Sachverhalt mit einer stark unterschiedlichen Laufzeit lösen kann und die Mathematik manchmal ganz nützlich ist.

      Für die, die es interessiert:
      Die Idee hinter der Summenformel ist im Wesentlichen, dass man festgestellt hat, dass bei der Aufsummierung z.B. zwischen 0 und 10 durch Umsortierung immer 2 Zahlen zusammen 10 ergeben (also 0+10=10, 1+9=10, 2+8=10, 3+7=10, ...).


      Bonus schrieb:

      Ich komm mit GitHub gar nicht klar, ich habe da bisschen rumgesucht, habe Pull request versucht, aber weiß da nicht weiter.
      Wenn man nie damit gearbeitet hat, kommt man da gar nicht zurecht, daher konnte ich leider kein Pullrequest nutzen.
      Zunächst musst du das Repository forken (einfach auf den Fork Button oben drücken), dann lädst du die Änderungen in deinem Fork hoch.
      Nachdem du das gemacht hast, kannst du dann oben in der Dateiübersicht auf "New pull request drücken" und Commits hinzufügen.
      Wenn es konkrete Fragen gibt, kannst du mir auch einfach eine PN schicken.
    • Schaue mir momentan noch ein anderes Tutorial welches ich hier im Forum gefunden habe an unter "Klick".
      Sobald ich damit durch bin werd ich mich denke ich mal an dein Tutorial hier machen. :)
      Habe bisher selbst eigentlich so gut wie keine Codingerfahrung. Bin also mal gespannt was ich da so lernen kann.
      Habe mich die letzten Jahre immer schwer damit getan mich für das lernen von Scriptsprachen zu begeistern.
      Das war damals bei PAWN der Fall und ist später das selbe bei LUA gewesen... :D
      Coming soon...
      [Blockierte Grafik: http://fs5.directupload.net/images/160119/3692egyq.png]
      powered by Mytronix.de
    • [TFLA] Ray Miller schrieb:

      Sobald ich damit durch bin werd ich mich denke ich mal an dein Tutorial hier machen.
      Inhaltlich lernst du bei beiden Tutorials eigentlich das gleiche, jedoch finde ich das von Jusonex um
      einiges ansprechender und es ist eben, mehr oder weniger, interaktiv.

      Mit freundlichen Grüßen
      Xseam
    • "Wenn die Reihenfolge also keine Rolle spielt oder aus irgendeinem anderen Grund ipairs gebraucht wird, sollte lieber pairs oder eine numerische for-Schleife eingesetzt werden."
      Goldene Regel: Globale Variablen sollten nur benutzt werden, wenn es wirklich nötig ist.

      Endlich, ich sehe einfach in fast jedem Script ipairs bei Sachen wie getElementsByType o.ä., wo die Reihenfolge keine Rolle spielt, dauerhaft globale Variablen (ganz bekannt ja beim GUIEditor, welches dann zu Fehlern führt) ...

      Bei Metatables scheint rawget und rawset leer gelassen zu sein, da ist keine richtige Erklärung.
      Nun frage ich mich, ob rawset für alle Methoden benutzt wird oder nur für Index.

      Bei den Debug Infos (mit Ausnahme von setmetatable) habe ich nicht verstehen können, wie die Funktionen verwendet werden können, was sie bringen usw.
      Da werde ich die API entschlüsseln müssen.