Andy Geschrieben 10. Dezember 2019 Geschrieben 10. Dezember 2019 Da wir gerade die Tage von rauchenden Loks geschrieben haben, habe ich sofort vermutet, dass Du da was von dem selbstgebrauten Äppelwoi in den Schlund gekippt hast Naja - für die Opfer weniger lustig. Aber das hat man eben von Sensationstourismus.
metallix Geschrieben 10. Dezember 2019 Geschrieben 10. Dezember 2019 Getreu der üblichen Antwort von Verleihnix: mein Äbbelwoi raucht nicht! Tja shit happens, es fallen auch rundflug schraubhuber gelegentlich in den Alpen der südinsel vom Himmel und was sonst noch so passieren kann. Das Leben ist lebenslang lebensgefährlich! Cheers Tom
Goetz Geschrieben 10. Dezember 2019 Geschrieben 10. Dezember 2019 vor 7 Stunden schrieb Timba: es müsste mit Tabelle genauso funktionieren. Nein, damit funktioniert es leider nicht. Eine Tabelle muss "iterable" - also lückenlos nummeriert - sein, damit table.remove() wie von dir gewünscht funktioniert. In einer Liste ist der Index eine Zahl. Eine Tabelle hat Namen als Bezeichner. Auch dann, wenn du als Namen eine Zahl verwendest. Deine 1 ist bei der Tabelle eine "1", also ein String.
Timba Geschrieben 10. Dezember 2019 Autor Geschrieben 10. Dezember 2019 (bearbeitet) @metallix Na, dann hoffe ich mal, dass unter deinem Wohnort nicht auch ein Vulkan schlummert. Als Metaller hättest du dann zwar das ultimative Schmiedefeuer , aber letztlich wohl doch zu heftig. Gruß Timba Bearbeitet 10. Dezember 2019 von Timba Anrede eingefügt
Timba Geschrieben 10. Dezember 2019 Autor Geschrieben 10. Dezember 2019 vor 2 Stunden schrieb Goetz: Eine Tabelle muss "iterable" - also lückenlos nummeriert - sein, damit table.remove() wie von dir gewünscht funktioniert. Moin Götz, die Antwort befriedigt mich überhaupt nicht. Ich fülle eine Tabelle mit Objekten. table.insert($("Ereignisse").variables["Probe"], $("Taste ▄")) Das Ergebnis ist eine lückenlos nummerierte Tabelle. Dann klicke ich viermal auf table.remove($("Ereignisse").variables["Probe"], 1) Das Ergebnis ist nicht wie gewünscht Tabelle leer, sondern Tabelle mit leeren Einträgen. Wenn ich genau denselben Versuch mache und lediglich das Objekt durch einen Text oder eine Zahl ersetze, table.insert($("Ereignisse").variables["Probe"], "TEXT") table.remove($("Ereignisse").variables["Probe"], 1) dann funktioniert es wie es soll. Es hat also nichts mit "iterabel" zu tun, sondern damit, ob es um ein Objekt oder ein anderes Element geht. Probiere es gerne selbst aus, um dich zu überzeugen: Tabellentest.mbp Gruß Timba
Goetz Geschrieben 10. Dezember 2019 Geschrieben 10. Dezember 2019 vor 40 Minuten schrieb Timba: Das Ergebnis ist nicht wie gewünscht Tabelle leer, sondern Tabelle mit leeren Einträgen. Weil du sie im MBS als Tabelle angelegt hast. Und deine Zellen damit Namen haben. Keine Nummern. Deshalb steht auch oben über der ersten Spalte "Namen"
Timba Geschrieben 10. Dezember 2019 Autor Geschrieben 10. Dezember 2019 vor 1 Stunde schrieb Goetz: Weil du sie im MBS als Tabelle angelegt hast. Und deine Zellen damit Namen haben. Keine Nummern. Deshalb steht auch oben über der ersten Spalte "Namen" Ok, und warum funktioniert es dann, wenn der Tabelleneintrag vom Typ Text ist, und bei Typ Objekt funktioniert es nicht? Für den Tabelleneintrag vom Typ Text gilt ja genauso "Weil du sie im MBS als Tabelle angelegt hast. Und deine Zellen damit Namen haben. Keine Nummern. Deshalb steht auch oben über der ersten Spalte 'Namen'" aber table.remove entfernt den Datensatz trotzdem. Die Erklärung dafür fehlt mir. An den oben geposteten Bildern kannst du sehen, dass die Einträge völlig identisch sind, bis auf den kleinen Unterschied, dass der Tabelleninhalt einmal Objekt und einmal Text ist. Entsprechend funtioniert es einmal nicht und einmal doch. Die von dir gelieferte Erklärung würde reichen, wenn es in beiden Fällen nicht funktioniert. Das ist nicht der Fall. Gruß Timba
Neo Geschrieben 10. Dezember 2019 Geschrieben 10. Dezember 2019 Hallo Timba, Referenzen werden im Studio anders behandelt als einfache Datentypen, siehe dazu auch hier: Ob eine Variable nil ist oder nicht existiert, macht im Studio und in Lua keinen Unterschied. Wenn dich nil-Einträge in Tabellen stören, dann weise ihnen zuerst einen einfachen Datentypen zu und setze sie dann nil, dann löscht das Studio sie (weil nil kein gültiger Wert für einen einfachen Datentyp ist). Viele Grüße, Neo
Timba Geschrieben 10. Dezember 2019 Autor Geschrieben 10. Dezember 2019 Hallo Neo, danke für die Info. Der nil-Eintrag stört in diesem Fall nur deshalb, weil die Prüfung, ob ein Datensatz vorhanden ist ( #Liste > 0 ) ein "falsches" Resultat anzeigt. Jedenfalls gehe ich davon aus, dass ein nil-Eintrag gezählt wird, probiert habe ich es nicht. Ich werde einen Weg finden. Aber immerhin weiß ich nun, warum es so ist wie es ist. Gruß Timba
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden