Jump to content

Empfohlene Beiträge

Geschrieben

Hallo liebes Forum,

mein Name ist Walter. Dies ist mein erster Beitrag in diesem Forum.

Ich beschäftige mich schon einige Zeit mit der Erstellung und Bearbeitung in der Ereignisverwaltung (EV). In diesem Zusammenhang und auch mit gelesener Information über die Programmiersprache "Lua", ist bei mir folgende Frage entstanden:

Macht es einen wesentlichen Unterschied im Studio, ob eine Variable einem Modul oder einem Objekt zugeordnet ist  (außer evtl. Verarbeitungsgründe)?

Ich glaube mich zu erinnern, dass in "Lua" eine Variable als "local" oder "global" angewandt werden kann. Hierbei besteht der Unterschied wohl darin, dass eine "globale Variable" im Arbeitsspeicher, während der Programmausführung, einen ständigen Speicherplatz belegt. Eine "locale Variable" aber nur eine begrenzte Zeit Speicherplatz belegt und wieder "freigegeben" wird um während der Programmausführung unterschiedliche Werte annehmen zu können.

Nur mit der EV im Studio kann hierauf kein direkter Einfluss genommen werden. Oder doch, evtl. mit Modul- oder Objekt-Variable?

Wird also mit der Zuordnung von Variablen in der EV die Verarbeitungsgeschwindigkeit, die Speicherplatzbelegung oder noch anderes beeinflusst ?

Ich würde mich freuen, wenn jemand hierzu eine Antwort geben kann.

Grüße aus Rheinland-Pfalz

Walter

 

Geschrieben

Hallo Walter,

Willkommen in der Community!

Die Ereignisverwaltung zusammen mit den Modul- und Objektvariablen stehen mit Lua nicht direkt in Verbindung, dort greifen die Lua-Konzepte nicht. Lua ist nur eine von mehreren Optionen, um auf Eigenschaften und Funktionen des Studios zuzugreifen. Der Unterschied "local" und "global" spielt daher nur in deinen eigenen Skripten eine Rolle.

Grundsätzlich ist es guter Programmierstil, temporäre Variablen in Lua-Skripten mit "local" zu definieren, aber weniger wegen der Performance sondern eher wegen der Vermeidung von Fehlern/Seiteneffekten. Bei globalen Variablen kann es nämlich schnell passieren, dass ein Wert unbeabsichtigt geändert wird und Auswirkungen auf andere Skripte hat, die man nicht berücksichtigt.

Zusammengefasst gilt daher, nimm die Variablen, die für dich zu einer besseren Übersicht führen.

Viele Grüße,

Neo

Geschrieben

Hallo Neo,

vielen Dank für die Antwort

Das bedeutet offensichtlich auch, das die EV kein Interpreter für Lua ist, aber Lua versteht. Ist das Laienhaft ausgedrückt einigermaßen richtig ?

Viele Grüße

Walter

Geschrieben

Hallo Walter,

die EV/das Studio ist ein Interpreter für Lua, aber die Modul- und Objektvariablen haben nichts mit Lua zu tun, sondern mit dem Studio. Das Studio stellt lediglich eine Schnittstelle für Lua bereit, um per Skript auf diese Variablen zugreifen zu können. Sie stellen quasi eine dritte Variante neben den globalen und lokalen Lua-Variablen dar.

Viele Grüße,

Neo

Geschrieben

Hallo Neo,

auch für diese Antwort herzlichen Dank. Ich kann mir jetzt die Zusammenhänge jetzt gut vorstellen. Damit ist meine ursprüngliche Frage ausreichend beantwortet.

Viele Grüße

Walter

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