Roblox GuidebookBase de conocimiento
Español ⌄

Desarrollo / ROBLOX

Tablas de Luau: lista de puntos y búsqueda por clave

Una tabla puede describir una secuencia y otra guardar detalles de estaciones por nombre. En un paseo ficticio con faroles distinguiremos índice, clave y valor, leeremos registros y comprobaremos posiciones después de insertar o quitar un elemento.

Actualizado:

Separa dos preguntas #

El paseo tiene inicio, final de puente y mirador. Qué estación viene después es una pregunta; qué descripción corresponde a una estación es otra. Orden e información se relacionan, pero separarlos en conjuntos explícitos facilita entender su función.

Usa routeStart, bridgeEnd y lookout como identificadores ordenados y como claves de los detalles. Son datos originales de ejercicio, no objetos de un juego existente. Reordenar pasos no convierte así un número de posición en la identidad permanente de una estación.

Lee el primer elemento #

Las llaves crean una tabla. El primer ejemplo contiene tres valores consecutivos formando una matriz sencilla. route[1] lee la primera posición y route[3] la tercera. Luau comienza estas listas en uno: el índice cero no representa su inicio.

Antes de ejecutar predice las líneas routeStart y lookout. Compara valores, no solo la aparición de un mensaje. Son datos en memoria: el ejemplo no mueve personajes, crea objetos de Workspace ni conserva la ruta entre sesiones.

Orden de estacionesAbrir imagen a tamaño completo ↗
Esquema original: números son posiciones y etiquetas son identificadores.
local route = {"routeStart", "bridgeEnd", "lookout"}
print(route[1])
print(route[3])

Busca detalles mediante una clave #

El segundo ejemplo pone registros nombrados en stations. stations["bridgeEnd"] selecciona por la clave exacta, no por la posición escrita en la tabla. title sirve como etiqueta para la salida de ejercicio; enabled es una bandera booleana independiente.

La relación usa un identificador coincidente: lee un ID de la lista y busca stations[ID]. Mantén consecutiva la matriz simple. No conviertas el orden de recorrido del diccionario en ruta: la lista separada determina la secuencia y la clave identifica un registro.

Distingue ausencia y false #

Una clave ausente devuelve nil. enabled=false almacena en cambio un valor booleano existente. La estación puede encontrarse aunque la bandera esté desactivada. Registro ausente y registro presente desactivado deben producir observaciones distintas.

Confirma el registro antes de leer sus campos. Con un ID desconocido conserva un mensaje claro que lo incluya y detén el paso correspondiente. Sustituirlo por la primera estación convertiría el error de datos en una búsqueda aparentemente correcta.

Buscar información por claveAbrir imagen a tamaño completo ↗
Esquema original de consulta; no muestra movimiento de personajes.
local stations = {
    routeStart = {title = "Start", enabled = true},
    bridgeEnd = {title = "Bridge", enabled = false},
    lookout = {title = "Lookout", enabled = true},
}
local station = stations["bridgeEnd"]
if station == nil then
    print("Missing station")
else
    print(station.title, station.enabled)
end

Inserta una estación intermedia #

En el tercer ejemplo table.insert coloca restSpot en la segunda posición. bridgeEnd pasa de segunda a tercera y lookout avanza también. Compara la secuencia antes y después. Cambia la posición, no el nombre bridgeEnd.

Si una interfaz futura guarda solo el número dos, después de insertar puede señalar otra estación. Usa el ID estable para nombrarla y el índice para su posición. La tabla no decide cómo tu proyecto debe almacenar el paso elegido.

Quita y vuelve a leer posiciones #

table.remove quita el elemento de una posición y desplaza hacia atrás los siguientes. El ejemplo elimina restSpot de la segunda posición, recuperando la secuencia original. Comprueba bridgeEnd segundo y lookout tercero. Leer una posición antigua sin reconsiderarla puede dar otro valor.

Deja la matriz de aprendizaje consecutiva. No sustituyas la eliminación por nil arbitrario en medio y trates la longitud dispersa como longitud normal de ruta. Define reglas reales antes de conectar posiciones al progreso del jugador.

local route = {"routeStart", "bridgeEnd", "lookout"}
table.insert(route, 2, "restSpot")
print(route[2])
print(route[3])
table.remove(route, 2)
print(route[2])
print(route[3])

Separa datos y acción de juego #

La lista describe orden y el registro describe datos. Mover un personaje, mostrar una ayuda o conceder recompensa requiere lógica independiente que use los valores. Un print correcto no demuestra interacción, red ni persistencia correctas.

Conserva los identificadores del ejercicio en todas las traducciones y localiza las etiquetas visibles aparte. Traducir una clave técnica en un solo conjunto rompe la relación. Compara ID y registros, no nombres atractivos de pantalla.

Haz una comprobación pequeña #

Comprueba primer elemento, clave conocida, ID desconocido, bandera false y posiciones tras insertar. Los ejemplos incluyen verificaciones independientes de valores esperados. Se refieren a tablas normales de Luau, no a una ejecución de un juego existente en Studio.

Incluye un caso negativo donde un ID de ruta falta en stations. Detectar el desacuerdo es útil, no continuar silenciosamente con otra estación. Anota ID problemático y conjunto que necesita arreglo en lugar de cambiar toda la ruta.

Recuerda las referencias #

Asignar una tabla a otra variable no crea una copia independiente. Un nombre como backupRoute no conserva contenido anterior si apunta al mismo conjunto. Distingue referencia y copia preparada de verdad para futuros experimentos.

Los ejemplos comienzan con conjuntos pequeños propios. No ofrecen un método universal para copiar configuraciones anidadas. Para otro trabajo define qué datos están anidados y qué permanece compartido; una copia superficial no implica independencia en todos los niveles.

ComprobaciónExpectativa
Primer elementoInicio con índice 1
Clave conocidaRegistro esperado encontrado
Clave desconocidaID ausente detectado
Insertar y quitarPosiciones nuevas comprobadas

Entrega la estructura #

El registro final contiene ID ordenados, detalles, significado de campos, respuesta a clave ausente y cambios de posición esperados. Explica qué ejemplos se verificaron aparte y qué partes aún no conectan con objetos. Otro desarrollador recibe un acuerdo de datos, no una promesa de mecánica terminada.

La fuente oficial explica las tablas; paseo, claves y verificaciones son ejemplos originales. No cambiamos juegos existentes. Procesamiento de ruta, interacciones y progreso pueden desarrollarse después como trabajo independiente, distinguiendo datos y acciones realmente realizadas.

CampoEntregar
OrdenSecuencia consecutiva de ID
ClavesIdentificadores y significado de campos
AusenciaRespuesta clara a ID desconocido
OperacionesDesplazamientos esperados

Fuentes originales

Roblox Creator Hub — Tables