• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

LUA Tables

docfred

Geocacher
Hallo miteinander

Eine Frage:
Kann ich zur Laufzeit Elemente eines Tables hinzufügen, oder muss ich alle Elemente vorher definieren (und kann sie zur Laufzeit nur mit Inhalt füllen)?

Das würde in "Benutzer Funktionen" stehen
Code:
logbuch = {}
logbuch.anzahl = 1
logbuch[1] = {}
logbuch[1].logzeit = "Logzeit"
logbuch[1].loginhalt = "Logeintrag"

Ich möchte dann bei verscheidenen Milestones weitere Einträge generieren.
So ungefähr (ich hab den Code hier noch nicht probiert)
Code:
function logeintrag(log_ereignis)
   logbuch.anzahl = logbuch.anzahl + 1
   local currTime=os.date("*t")
   logbuch[logbuch.anzahl] = {}
   logbuch[logbuch.anzahl].logzeit = get_corrected_time(currTime) --funktion von Bodenseepingu 
   logbuch[logbuch.anzahl].loginhalt = log_ereignis
   return logbuch.anzahl 
end
Diese Milestones könnte ich dann in einem Logbuch-Item (ähnlich dem Tagebuchbeispiel) anzeigen.

Mir geht es zunächst nur um die Frage, ob ich so Elemente überhaupt hinzufügen kann?

docfred
 
OP
docfred

docfred

Geocacher
Habe es selbst rausgebracht.

Es geht mit

Code:
table.insert (logbuch, "Neuer Eintrag")

allerdings habe ich das jetzt ohne geschachtelter Table gemacht.

docfred
 

Krolock

Geocacher
bei Objekten ist lua sogar noch großzügiger.

Du kannst sogar während der Laufzeit noch onTheFly Attribute hinzuaddieren.

Ich hab z.B an eine Zone Muggelhausen einfach noch Attribute hinzuaddiert.
Code:
objMuggelhausen.owner = 0	
objMuggelhausen.priceHouse = 1000
objMuggelhausen.price = 1200	
objMuggelhausen.rent = {40,200, 600, 1800, 3200, 5000}

Intern werden die Objekte in eine Tabelle gemappt.

http://lua-users.org/wiki/TablesTutorial
http://www.wowwiki.com/Object-oriented_programming
 
Oben