In meinem Code, habe ich eine Variable auf den Inhalt einer Tabelle, wie so:Lua ungeradee Tabellen Verhalten
colorTable = {{255, 255, 255}}
color = colorTable[1]
Mein Problem ist, wenn ich den Wert color
bearbeiten ändert er den ursprünglichen Wert in colorTable
So am Anfang, colorTable[1][1]
gleich 255
, aber nachdem ich laufen diese:
color[1] = color[1] - 10
colorTable[1][1]
gleich 245
. Jede Hilfe wird geschätzt.
Dies ist kein merkwürdiges Verhalten, es ist das Verhalten, das man erwarten würde, wenn man zumindest das Kapitel "Grundlegende Konzepte" des Lua-Handbuchs gelesen hätte. https://www.lua.org/manual/5.3/manual.html#2.1 Es ist wie die zweite Seite ... Tabellen werden immer als Referenz kopiert. Die Farbe bezieht sich auf die gleiche Tabelle wie colorTable [1], daher bezieht sich die Farbe [1] auf colourTable [1] [1]. – Piglet
Um klar zu sein, "Farbe [1] = Farbe [1] - 10" "editiert nicht den Wert von' Farbe' "; es aktualisiert nur den Wert seines Mitglieds mit der Schlüsselnummer 1. "Farbe" wird überhaupt nicht geändert; Es ist die gleiche Tabellenreferenz. –