Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

Empfohlene Beiträge

Geschrieben

Ich bastele in der EV von MBS einen möglichst automatischen Containerbahnhof zusammen. Da werden, logisch, auch Variablen verwendet. Die Form ist in etwa folgende:

$("Kran_1").variables.kran_x = 0

ich hätte das aber gern ein wenig allgemeiner, etwa so:

variable_modul = '$("Kran_1").variables'   

und dann:

variable_modul.kran_x=0

gibt es da eine Lösung?

Danke Heinrich

Geschrieben

so z.B.:

local variable_modul = $("Kran_1").variables
variable_modul["kran_x"]  = 0

Hinweis: $-Ausdrücke sind keine echten Variablen, sondern Konstanten, also ein Verweis auf ein konkretes Objekt.

Gruß Eggu

Geschrieben
  • Autor

ha, so einfach, genau das habe ich gesucht. variable_modul.kran_1 geht auch

Danke

Geschrieben
vor 10 Minuten schrieb heine_jul:

variable_modul.kran_1 geht auch

Stimmt. In Lua sind beide Schreibweisen erlaubt. Und sie sind gleichbedeutend, also auch austauschbar.

Tabelle["Untertabelle"]["Element"] == Tabelle.Untertabelle.Element

Die Schreibweise mit eckigen Klammern und Anführungszeichen erlaubt mehr Zeichen (z.B. Sonderzeichen), die bei der anderen Schreibweise unzulässig sind.
Deshalb wählt das Studio automatisch die Schreibweise mit Klammern und Anführungszeichen, wenn ein Teil der grafischen EV in Lua gewandelt wird.

 

Geschrieben
  • Autor

ist es nun auch möglich das ganze noch weiterzu treiben? also das "kran_x" wieder durch eine lokale Variable zu ersetzen etwa in der Form:

 

Globale Variable : variable_modul = $("Kran_1").variables
Locale Variable : tab="XYZ"

 

variable_modul["kran_x"]  = 0   ---- und hier das ["kran_x"] durch die Variable "tab" ersetzen.

so das entsteht:   variable_modul["XYZ"]  = 0

Danke

Geschrieben
vor 4 Minuten schrieb heine_jul:

ist es nun auch möglich das ganze noch weiter zu treiben? also das "kran_x" wieder durch eine lokale Variable zu ersetzen

Ja, selbstverständlich. Dafür gibt es die rechteckigen Klammern.
Die können entweder einen Platzhalter (ohne Anführungszeichen!) aufnehmen.
Oder einen Bezeichner (mit Anführungszeichen, weil der Bezeichner ein String ist)

fu = "bar"

object.variables[fu] == object.variables["bar"]

 

Mit Zahlenwerten geht es so:

fu = 42

object.variables[fu] == object.variables[42]

Die Zahl darf nicht in Anführungsstrichen stehen

Geschrieben
  • Autor

Danke. Alles schon angewendet (z.B. als Index einer Tabelle] nur nicht so allgemein begriffen.

Geschrieben

Vielleicht hilft hier der Merksatz:

:D
"In der Informatik gibt es kein Problem,
welches nicht durch einen Pointer auf einen Pointer gelöst werden könnte."

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.