Jump to content

Besteht Interesse an einem Lua-Tutorial?


Empfohlene Beiträge

vor 2 Stunden schrieb Andy:

Offensichtlich paßt er es einfach an und der Typ ist einfach 'number' für ihn.

Ganz genau.

Das ist für den Einsteiger zunächst bequem, weil er sich nicht mit den beiden Typen und ihren Eigenschaften auseinandersetzen muss. Das demonstriert dein Taschenrechner-Trick sehr gut.

Aber dieser unkontrollierte Wechsel von integer zu float ist nicht ohne Probleme. Der erfahrene Programmierer muss hier aufpassen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Goetz,
ich kann mir auch vorstellen, an welcher Stelle. Aber verschieben wir das, will nicht vorgreifen. Machst das so hervorragend.
Anregung: eine Liste der verfügbaren einfachen mathematischen Operationen könntest Du jetzt schon mal posten. Dann könnten die Jungs schon mal Sinüsse knacken.

Neo hat den Code-Tag freigeschaltet (*freu*), sinnigerweise das <> Symbol.
Genau bei dem fällt mir nur 9_9 ein. Irgendwann war das ja mal als 'ungleich' bekannt. Aber weil die spitzen Klammern ja auch ein schönes Pärchen eben zum Klammern sind, wird ungleich in C zu != und hier zu -=, was in C wiederum eine Subtraktion auf sich selbst bedeutet. Es nervt gewaltig, wenn bei Operatoren jeder seine eigene Suppe kocht.
Sollen sie doch endlich die Tastenkombination `= nehmen und dann in Unicode ≠ schreiben. In welchem Jahrtausend leben wir denn? Extensions gehen doch in jeder Sprache...

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe mich sehr über Neos schnelles Handeln gefreut und meine bisherigen Postings alle entsprechend umgestaltet.

Sorry @Andy aber für deinen persönlichen Unmut über die unterschiedlichen Schreibweisen bei Codes, Tags etc. ist hier nicht der richtige Platz.

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich z.b. das von Andy geschriebene Script im notepadd++ eingebe, als "test.lua" im Ordner LUA speichere und die Taste F5 drücke um den Code auszuführen erscheint ein Fenster in das ich eingebe:

"C:\Program Files (x86)\Lua\5.1\lua.exe" "C:\LUA\test.lua" "$(FULL_CURRENT_PATH)"

Daraufhin erscheint für den Bruchteil einer Sekunde ein Fenster und schließt sich sofort wieder.

Begebe ich mich per CMD in das Verzeichnis in der die test.lua liegt und dort eingebe

lua.exe test.lua

öffnet sich ein Fenster und ich kann das Ergebnis in Ruhe betrachten.

Wie kann ich erreichen, dass das Fenster beim Notepad++ offen bleibt?

Gruß

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 7 Stunden schrieb MakKucken:

Wie kann ich erreichen, dass das Fenster beim Notepad++ offen bleibt?

vielleicht bringt dich der Interactive Mode weiter, siehe Lua Docu:

Zitat

-i: enters interactive mode after running script;

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @MakKucken,

Du könntest auch über eine Batch-Datei gehen:

z.B.

dolua.bat (Pfad zu Lua anpassen!)

C:\lua\lua53.exe %1
pause

Die legst Du z.B. in einen Ordner c:\mbs\luatest\, in der auch Deine lua-Testdatei liegt, also die Datei, die in Notepad++ gerade geöffnet ist.
Und dann lautet das F5-Kommando:

"c:\mbs\luatest\dolua.bat" "$(FULL_CURRENT_PATH)"

Hierbei mußt Du halt vorher auf 'save' gehen, um den Inhalt abzuspeichern. Weiß jetzt nicht, ob es noch ein define für den aktuellen Editor-Inhalt gibt.

Gruß
  Andy

ps: also, für den noch nicht gespeicherten Inhalt der offenen Datei gibt's wohl nichts. Die Hochkommas im F5-Kommando sind eine Empfehlung, bei mir geht's auch ohne sie. Aber sie kosten ja nichts.

Bearbeitet von Andy
ps
Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke Neo. Dein Tip hat geholfen. Ich wollte nicht den Umweg über eine bat-Datei machen deshalb habe ich mich mit dem "-i" beschäftigt. Der korrekte Eintrag muss lauten:

"C:\Program Files (x86)\Lua\5.1\lua.exe" -i "C:\LUA\test.lua" "$(FULL_CURRENT_PATH)"

Prima Forum. Wie heisst/hieß es doch so schön: Hier werden sie geholfen.

Nachtrag: Das schöne an dieser Lösung ist, dass ich dem ganzen eine Tastenkombination zuweisen kann. Das heisst, ich muss nicht immer über F5 gehen sondern kann die Ausführung z.B. über Strg & Alt & A sofort ausführen.

Und noch ein Nachtrag: Beim Standard des Ausgabefensters ist die Schrift recht klein. Wenn man beim Ausgabefensters oben auf die Fensterleiste einen Rechtsklick macht kann man "Eigenschaften" anwählen und dann die Schriftgröße des Fenstern anpassen.

Bearbeitet von MakKucken
Link zu diesem Kommentar
Auf anderen Seiten teilen

Einen der beiden Einträge am Ende kannst Du Dir aber sparen. Entweder fester Dateidateiname oder FULL_... reicht aus. Das FULL_ ist dann der Name der Datei, in der Du gerade editierst. Und die Info mit dem -i ist wirklich prima. Ich hatte das mit der Batch nur geschrieben, weil ich den Aufruf auch irgendwie falsch gemacht hatte und das Fenster dann gleich wieder weg war. Batch hätte den Vorteil, dass man da auch noch andere Aufrufe nachlegen kann. Wer weiß, was noch kommt.

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke allen für die Teilname.

Um ehrlich zu sein, ich beschäftige mich zur Zeit ein bisschen mit den verschiedenen Editoren für Lua. Notepap++, bisher einer meiner Lieblingsanwendungen, hat's inzwischen ja d'rauf. Ein weiterer Kandidat, der die Sache recht gut macht ist ZeroBrane Studio. Nun bin ich gestern noch auf diese Seite gestossen:

https://www.gamefromscratch.com/post/2016/01/25/Editors-and-IDEs-for-Lua-and-Love-Development.aspx

Ziemlich weit unten wird dort aufgeführt Visual Studio with BabeLua Plugin. Da ich in der Vergangenheit sehr viel mit dem Visual Studio gemacht habe würde ich gerne diese Variante noch testen. Allerdings ist es mir, trotz eifriger Suche im Internet, nicht gelungen das Plugin zu integrieren.

Vielleicht kann mich einer wissen lassen wie das funktioniert.

Gruß

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 45 Minuten schrieb MakKucken:

... würde ich gerne diese Variante noch testen.

Bleib bei Notepad++ oder ZeroBrane. Je nachdem, was dir mehr zusagt.

Stecke deine Energie lieber in das Erlernen von Lua selbst. Das wird dich weiterbringen, als ein Vergleich aller verfügbarer Editoren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 33 Minuten schrieb Goetz:

Stecke deine Energie lieber in das Erlernen von Lua selbst. Das wird dich weiterbringen

Jetzt bin ich 67 Jahre alt und muss mir von einem Goetz einen Satz gefallen lassen den ich vor vielen, vielen Jahren in genau dieser Form von meinen Eltern hörte. Du musst nur das Wörtchen "Lua" durch "Bücher" ersetzen. Und, woher weisst du, dass ich in Sachen Lua nicht schon recht gut bin und nur nach einem besser geeigneten Editor suche?

Lass gut sein (Mutter)Goetz. Reagiere nicht mehr auf meine  Beiträge.

Gruß

 

 

Bearbeitet von MakKucken
Link zu diesem Kommentar
Auf anderen Seiten teilen

Es tut mir leid, @MakKucken

Notepad++ und ZeroBrane sind meines Erachtens die beiden Editoren, die sich am besten für eigene Lua Experimente eignen. Und das auch nur für die verbleibende, kurze Zeit bis 3D Modellbahnstudio V5 verfügbar ist. Dann ist der enthaltene Editor sowieso die richtige Wahl, weil er die Besonderheiten unterstützen wird, die es für das Zusammenspiel von 3D MBS und Lua geben wird.  Deshalb wollte ich dir empfehlen, bei einem der zwei genannten zu bleiben.

Das ist doch kein Grund, gleich verschnupft zu reagieren. 

Gruß
Götz

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 17 Stunden schrieb Goetz:

 

Das ist doch kein Grund, gleich verschnupft zu reagieren. 

Hallo Goetz...

 

Ich kann MakKucken durchaus verstehen, aber ich habe mir vor ein paar Tagen einen Kommentar zu Deinen Zeilen mit gegenüber verkniffen.

Du magst Dich zwar gut mit Lua auszukennen, und Deine Art, dieses Wissen zu vermitteln (oder es zu versuchen) ist auch nicht schlecht.

 

Aber vergiß bei alle dem nicht, Du hast es hier denke ich überwiegend NICHT mit Teenies zu tun, sondern zum erheblichen Teil mit Menschen, die es in Leben zu einigem gebracht habe (zumindest in beruflicher Hinsicht) und deshalb durchaus gelernt haben zu lernen (sonst wären sie in der heute doch sehr schnelllebigen Zeit längst auf dem Abstellgleis).

 

Lehren und vermitteln ist gut (auch Fragen beantworten), doch den Lehrmeister spielen denke ich ist hier nicht angebracht.

 

So, und jetzt mache ich den Vorschlag: Schwamm drüber...

Gruß,

Michael

Bearbeitet von m.weber
Rexchtschreibung :)
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,
ich bin doch ein wenig überrascht, dass Dich meine Lösung überrascht hat, denn ich nahm an, dass Du genau darauf hinaus wolltest.
Ja, es ist sehr wichtig, darzulegen, dass es durchaus mehrere Lösungswege gibt. Der eine mag seine if-Gatter, der zweite macht's mit and, or und not und der dritte hat halt noch einen Weg. Es ist auf der anderen Seite aber auch nicht unbedingt so, dass der 'kürzeste' Code letztlich der schnellste ist. Es wird fast immer so sein, dass die übergebenen Werte entscheiden, wie's am schnellsten weitergeht. Mein Code dürfte hier immer gleich schnell sein. Da gibt's keine Fallunterscheidungen. Ein Code, der mit if erst mal den einen Fall überprüft und ggf. sofort auf ein return kommt, könnte da noch effizienter sein. Auch ein 'and', bei dem die Aussage vor dem 'and' schon falsch ist.
Wir sind jetzt sicherlich noch nicht so weit, dass wir uns um's Optimieren kümmern - es gilt jetzt erst mal: Hauptsache läuft korrekt. Aber man kann sicherlich schon mal darauf hinweisen, dass man da recht unterschiedliche Qualität hinkriegen kann. Ganz wichtig ist aber auch die Lesbarkeit eines Codes. Wenn Neo sich unkommentiert kryptischen Code hinlegen würde und kommt nach längerer Zeit aufgrund eines Featurewunsches wieder an die Stelle, könnte es passieren, dass er seinen eigenen Code nicht mehr versteht.
Solange man in dem Thema drin ist, kann man sich nicht vorstellen, dass man jemals Probleme damit kriegen könnte - wenn es soweit ist, kann man sich nicht vorstellen, dass man das jemals kapiert und selbst geschrieben hat. Ich kann da auch einige Arien singen.

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Andy,

vor 37 Minuten schrieb Andy:

Ein Code, der mit if erst mal den einen Fall überprüft und ggf. sofort auf ein return kommt, könnte da noch effizienter sein.

vom technischen Aufwand her unterscheidet sich das nicht von einem

return a == b

zumindest nicht, wenn es sich um solche einfachen Datentypen wie Boolean handelt. So gesehen ist deine Lösung schon die schnellste. Sie zeigt auch, dass du schon eine Programmiervergangenheit hast, weil wie Götz schon in seinen Tutorials immer wieder anmerkt, kommt es bei den logischen Verknüpfungen auf Praxiserfahrungen an.

Abgesehen davon muss man sich bei Lua (im Context des MBS) nicht um solche Mikrooptimierungen Gedanken machen, d.h. in der Praxis werden solche Vergleichsunterschiede keine Auswirkungen auf die Performance haben. Hier kann ich dir nur beipflichten, dass jeder für sich eine saubere Lesbarkeit des Codes favorisieren sollte.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Modellbahnfreunde

Hallo Andy , es ist jedem Bekannt ,das es viele Wege geben wird zur einer Lösung. Das liegt auch daran , das viele anders an der Lösung heran gehen . Alle bekommen die gleiche Information und doch sind die Lösungswege anders . 

Da wenige oder die meisten Modellbahnfreunde von LUA nichts gehört oder Wissen haben , sollte man nicht so weit vorgreifen .

Solange jeder hier mit der Erklärung zurecht kommt ist es gut . Die Problematik wird sich noch früh genug kommen . 

Den Weg an Goetz über eine Nachricht fand ich sehr gut , damit die anderen nicht unsicher werden . 

Auch Du wird es später sehen und überrascht sein , das es noch bessere Lösungswege geben wird .

Bedenke auch das nicht alle auf den gleichen Stand sind , jeder ist ANDERS mit seinem Wissen .

Vorgreifen ist nicht gut , da es auch eine Unsicherheit vorgreifen kann .

Wenn machbar sollten erst mal ein Grundstein für alle gegeben werden , das auch die anderen mithalten können .

Der Lernweg ist bei jedem anders ( einige sehr schnell und andere brauchen etwas mehr Zeit ) .

Versuche bitte die Schritte zeitlich bei zuhalten . 

Das soll Dich auch nicht bremsen mit deiner Mitteilung ! 

Vielen Dank !

 

Ich habe selbst die Erfahrung machen müssen , wenn man etwas weist  es zu vermitteln . Man muss das auch mal Allgemein  sehen .

Viele Grüße

H:xnS

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Hans,
ich will da gar nicht vorgreifen - und was Lua angeht, kann ich das auch gar nicht. Da bin ich auch nur auf dem Stand des Tutorials und auf weitere Folgen angewiesen.
Es ging mir nur um ein bißchen Drumherum und das hier wieder ein wenig Bewegung reinkommt. Sind alle so ruhig. Man weiß nicht, ob das ein gutes Zeichen ist, oder ob schon welche am Schlucken sind und sich nicht trauen rückzufragen. Okay, in Bibliotheken soll man auch ruhig sein :$

beste Grüße
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Minute schrieb Andy:

Man weiß nicht, ob das ein gutes Zeichen ist, oder ob schon welche am Schlucken sind und sich nicht trauen rückzufragen.

Stimmt.
Das wüsste ich auch zu gerne. Motiviere ich die Leser? Oder verschrecke ich sie eher?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo

Andy,

vor 2 Stunden schrieb Andy:

Solange man in dem Thema drin ist, kann man sich nicht vorstellen, dass man jemals Probleme damit kriegen könnte - wenn es soweit ist, kann man sich nicht vorstellen, dass man das jemals kapiert und selbst geschrieben hat. Ich kann da auch einige Arien singen.

oh wie wahr !!!!  :D
Ich singe mit.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Modellbahnfreunde

Bitte gibt doch ein Feedback ( Mitteilung ) ab , in wie weit Goetz vorgehen kann , damit er auch wenn nötig Erklärungen geben kann .

Es ist doch gut , wenn jemand doch möglich einfache Erklärung geben kann . 

Wir werden wohl nicht alles von Lua brauchen , aber die Vorgehungsweise sollte für das 3D-MBS gezeigt und erklärt werden . So wie es schon Begonnen hat kommt doch jeder mit - oder doch NICHT ? 

Dann ruhig nachfragen , es reißt keiner den Kopf ab - wir wollen doch alle ( fast ) auf den gleichen Stand sein .

 

Mitglieder meldet Euch bitte doch , auch Neulinge wie ich in Punkto LUA - Programmierung .

 

Viele Grüße

 

H:xnS

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo @Goetz, hallo @Neo,

mal eine frage... wenn V5 kommt, wird es hier auch so kleine Anleitungen mit kleinen anlagen geben ? ( denn dann kann bzw könnte man einige der schritte viel besser nach vollziehen )… ich wenn ich ganz ehrlich sein darf und auch soll … mich schreckt das alles mit lua jetzt schon mal im voraus ab genauso wie variablen und alles was dazu gehört … sorry, für meine ehrliche antwort hier … gruß schlagerfuzzi

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...