Jump to content

Besteht Interesse an einem Lua-Tutorial?


Empfohlene Beiträge

vor 15 Minuten schrieb schlagerfuzzi1:

sorry, für meine ehrliche antwort

Ich glaube, für eine ehrliche Antwort muss sich niemand entschuldigen.

Und Lua muss dich nicht erschrecken. Weil es nicht erforderlich ist, dass man das lernt. Die V5 wird dir gewiss auch ganz ohne Lua viel Freude machen. Und du wirst auch ohne Lua Kenntnisse auf nichts verzichten müssen. Lua ist einfach nur eine weitere Möglichkeit der Anlagensteuerung und für diejenigen gedacht, denen diese Methode liegt.

Es ist wie ein weiteres Musikinstrument. Man muss nicht alle Instrumente beherrschen, um Musik zu machen. Aber man kann eine größere Auswahl an Musik genießen, wenn alle Musiker viele verschiedene Instrumente zur Auswahl haben.

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @schlagerfuzzi1,

Du bist nicht gezwungen, LUA-Scripte zu schreiben, Du kannst die Ereignissteuerung wie bisher im Programm-Dialog bearbeiten. Du hast nur mit LUA mehr Möglichkeiten, als die die Ereignisverwaltung selbst zur Verfüguung stellt. Trotzdem wird auch die Ereignisverwaltung selbst in V5 wesentlich mehr Möglichkeiten bieten als in V4 - auch ohne "eigene" LUA-Scripte.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo @Goetz,

danke für deine Rückantwort … du machst diese sache recht gut mit lua … ich verfolge ja schon die ganze zeit dieses Thema ...und das gefällt mir ja auch (y) ... nur wenn du dann in V5 dir evtl wenn auch nur für mich dann eine weitere Hilfestellung oder auch den einen oder anderen in sachen mit kleinen diversen anlagen Beispielen weiter helfen kannst wirst du sich nicht nur mir dabei helfen zum weiterkommen … danke dir für dein Verständnis … gruß schlagerfuzzi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @schlagerfuzzi1

ich kann @Goetz und @BahnLand nur beipflichten, du brauchst keine Angst vor V5 haben, soweit ich das Ganze verfolge wird das Grundsystem so bleiben wie es ist, nur eben erweitert. Keiner wird darauf angewiesen sein LUA zu beherrschen um weiterhin Anlagen zu erstellen, es ist wie mit deinen „geliebten“ Variablen, es gibt sie, man kann sie nutzen, ABER man muss nicht. ;)

Und wenn du bei irgend etwas nicht weiterkommst dann scheu dich nicht zu fragen, es gibt viele Nutzer die dir gern helfen.

Gruß Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Goetz,
wegen Deinem letzten Kapitel über Variablen ist mir noch die Frage gekommen, ob es bei Schleifen noch so etwas wie ein 'break'-Kommando, also einen Schleifenabbruch, gibt. Und wenn ich dann den Schleifenzähler noch brauche, muß ich ihn nach dem Schleifenkopf an etwas längerlebiges zuweisen, oder?

Gruß
  Andy

p.s.: Schleifenzähler lokal aber nur bei der for-Schleife denke ich. Bei der While-Schleife gibt es ja nicht unbedingt einen Schleifenzähler. ?!?

Bearbeitet von Andy
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 52 Minuten schrieb Andy:

ob es bei Schleifen noch so etwas wie ein 'break'-Kommando, also einen Schleifenabbruch, gibt.

Ja. Das Schlüsselwort dafür heißt break

Wenn du einen for-Schleifenzähler über die Schleife hinaus noch benötigst, musst du ihn - genau wie du vermutest - übergeben. Was du im while ... do Konstrukt stehen hast, ist kein Zähler, sondern eine Bedingung. Ob du diese Bedingung innerhalb der While Schleife durch Zählen oder anderweitig veränderst, macht keinen Unterschied. Die Variable wird nicht in der Bedingung erzeugt und ist nicht automatisch local.

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Kurze Meldung zum laufenden Lua Tutorial:

Ich brauche bitte eine kurze Pause, bevor ich die nächsten Kapitel posten kann.

Im Übrigen freue ich mich ganz enorm, dass das Interesse so konstant ist. Die letzten Postings in der Serie wurden ebenso oft abgerufen wie die ersten. Teils sogar häufiger (vermutlich, weil der Eine oder Andere noch einmal etwas nachlesen will.)

Insgesamt wird das trotzdem kein vollständiges Lua-Tutorial werden. Das würde meines Erachtens den Rahmen sprengen. Ich wollte euch gerne anhand von Beispielen an die Sprache sowie das Programmieren im Allgemeinen heranführen. Ich möchte euch die Systematik zeigen, die alledem zugrunde liegt. Und dazu habe ich noch ein paar weitere Kapitel geplant, für die ich aber etwas Zeit benötige.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn man sich jetzt mal das Essentielle aus dem Tutorial herauspickt und in eigenen Worten in eine Textdatei schreibt, also praktisch einen Spickzettel bastelt,
dann ist der gar nicht so groß. Wenn ich's mit der Original-Dokumentation vergleiche, dann scheinen wir mit den Grundlagen bereits durch zu sein. Man kann die Doku nun anlesen und kommt vorwärts, ohne ständig durch Dinge gestört zu werden, die man noch nicht kennt.
Bis hierhin schon mal ein großes Dankeschön. Mir hast Du damit einen sehr sanften Einstieg gewährt. Schraubendreher, Hammer und Feile liegen damit bereit.

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke Goetz,

 

ich bin in meiner bisherigen Laufbahn in Elektronik- und IT-Bereich schon unzähligen Tutorials begegnet. Angefangen mit einem Commodore C16 (ja der lebt immer noch) über den Amiga bis hin zum 4000 (im eigenen 19" Gehäuse und ersten Erfahrungen mit Cinema 4D) bis zum MCSE auf Server 2012 hab ich schon viel an Anleitungen gesehen und studiert. Dein Tutorial zählt dabei zu den kurzweiligeren und somit in meinen Augen besseren.

Ich programmiere heute nur noch am Rande und das eher praxisbezogen. Scripting wäre wohl auch angebrachter. Batch-Dateien für Kunden kann man nun wirklich nicht als Programmieren bezeichnen, auch das Scripting in HTML und/oder PHP für Kunden-Internetseiten zählen wohl kaum zum wirklichen programmieren, dann schon eher die Erstellung von Programmen für die ATMEL-Chips in unseren Eigenentwicklungen im Eventtechnik-Bereich und deren Ableger für die eigene Modellbahn, dort halt auch speziell die Lichtsteuerung.

Da ich den Aufwand kenne allein eine Betriebsanleitung für ein DMX-Interface zu schreiben, das von Nicht-ITlern eingerichtet und betrieben werden soll, kann ich für Dein Tutorial nur höchsten Respekt zollen. Großartig! Bitte mach bis zur Einführung von V5 weiter.

motivierende Grüße, Ralf

Link zu diesem Kommentar
Auf anderen Seiten teilen

Videos zeigen's doch am allerbesten. Mehr als jeder zweite Schüler nutzt über YouTube Lernvideus. Da können die freitags wirklich locker demonstrieren.
Wenn die Generation jetzt nur noch mit dem Gedächtnis umgehen könnte... 9_9

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb BahnLand:

Wenn Du da noch weitere hast oder planst: Immer her damit!

In solch einem kurzen Video steckt in meinem Fall ein ganzer Tag Arbeit.

Ich würde sicher gerne mehr machen, weil mir die Wirkung wohl bewusst ist. Aber ich habe nicht immer die Energie dafür.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Ja, kann ich nur bestätigen.
An der Stelle, wo :format ins Spiel kommt, hättest Du vielleicht nochmal kurz auf die 'Einsparungsmöglichkeit' eingehen können.
Aber jeder, der das nicht versteht, kann ja 'zurücklesen'.

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

...und noch eine:
In der Sprache C muß man Extrabibliotheken (wie die String- oder Mathebibliothek) inkludieren, einen Header einbinden, also einen Verweis auf das 'Inhaltsverzeichnis' anbringen. Sogar für das einfache print. Das scheint in Lua zumindest für String- und Mathebibliohek nicht der Fall zu sein. Die sind immer da?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb Andy:

Hatten wir das schon, wie man das bei einer Funktion hinbekommt?

Nein, das hatten wir noch nicht. Danke für den Hinweis :)

 

vor 3 Stunden schrieb Andy:

Extrabibliotheken (wie die String- oder Mathebibliothek) inkludieren …
Das scheint in Lua zumindest für String- und Mathebibliohek nicht der Fall zu sein.

Stimmt. Die müssen nicht erst eingebunden werden. Die Standardbibliotheken sind in Lua immer präsent.

 

vor 3 Stunden schrieb Andy:

Hast Du noch ein Beispiel für was man diese unsortierte, praktisch zufällige Form "in pairs" gebrauchen kann?

Du benötigst diese Form vor allem dann, wenn die Schlüssel in deiner Tabelle Namen sind und du dennoch die ganze Tabelle in einem Rutsch abfragen willst.

Im MBS könnte eine Tabelle zum Beispiel die Namen aller Gleisstücke von Gleis 1 im Bahnhof "Musterdorf" als Schlüssel verwenden unter dem gespeichert wird, ob das Gleis besetzt ist oder nicht. Um zu erfahren, ob Gleis 1 frei ist, könntest du diese Tabelle mit in pairs() abklappern und schauen, ob dort für eins der Gleise ein "besetzt" registriert ist.

In einer anderen Software kann es praktisch sein, die Signalnummern einer Anlage als Index in einer Tabelle zu verwenden. Dann hat man keine lückenlose Nummerierung der Einträge (weil manche Nummern anderweitig vergeben wurden.) In diesem Fall kann man ebenfalls nur mit in pairs() die Tabelle abarbeiten, aber nicht mit in ipairs()

Selbstverständlich gibt es in beiden Fällen viele andere Wege, um zum selben Ziel zu kommen.
Aber diese "Schlüssel/Wert"-Paare sind praktisch. Gerade dann, wenn man die Tabelle nicht der Reihe nach abarbeiten kann und trotzdem beide Dinge benötigt.

 

 

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Wochen später...

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...