0Pricing
Zig Academy · Lección

Structs anónimos y tuplas

Cree valores agrupados ad hoc.

Structs anónimos y tuplas es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Zig Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Zig Academy incluye 4 lecciones en total.

A veces solo lo necesita una vez

No toda agrupación merece un tipo con nombre. Zig permite escribir un struct anónimo en línea, justo donde lo utiliza.

Simplemente omita el nombre

Un literal de struct anónimo comienza con .{ y enumera los campos por nombre, sin escribir ningún tipo delante.

const p = .{ .x = 1, .y = 2 };

Use los campos con normalidad

Lea los campos igual que en un struct con nombre, mediante un punto. Aquí p.x es 1 y p.y es 2.

const sum = p.x + p.y;

Conviértalo a un tipo con nombre

Un literal anónimo puede convertirse implícitamente en un struct con nombre cuando se conoce el tipo de destino, como ocurre con un valor de retorno.

fn make() Point {
    return .{ .x = 0, .y = 0 };
}

Las tuplas no tienen nombres de campo

Omita los nombres de los campos y obtendrá una tupla: un struct anónimo cuyos campos se acceden por posición.

const pair = .{ 1, 2 };

Indexe una tupla

Acceda a un campo de una tupla mediante su número, escrito como un nombre de campo. Así, pair[0] es 1 y pair[1] es 2.

const first = pair[0];

Los tipos mixtos no son un problema

Cada campo de una tupla puede tener un tipo diferente. Un mismo literal puede contener un int, un bool y un string.

const row = .{ 42, true, "hi" };

Las tuplas tienen una longitud

Una tupla sigue siendo un struct, por lo que tiene un len conocido en tiempo de compilación, que puede leer con tuple.len.

const n = row.len; // 3

Ideal para argumentos de print

std.debug.print recibe una tupla de valores para formatearlos. El .{} que pasa es una tupla anónima.

std.debug.print("{} {}\n", .{ 1, 2 });

Recorra una tupla

Como la longitud se conoce en tiempo de compilación, puede recorrer los campos de una tupla con un bucle inline for.

inline for (row) |field| {
    _ = field;
}

Con nombre o posicional

Recurra a una estructura anónima cuando los nombres aporten claridad, y a una tupla cuando solo necesite un grupo breve y ordenado.

Comprobación rápida

¿Cuál es la diferencia entre una tupla y una estructura anónima con nombre?

Resumen

Ha conocido las estructuras anónimas y las tuplas: .{ .x = 1 } es una estructura en línea con nombre, mientras que .{ 1, 2 } es una tupla posicional. 📦

Preguntas frecuentes

¿La lección «Structs anónimos y tuplas» es gratis?

Sí — el texto completo de «Structs anónimos y tuplas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Zig Academy, actualiza a CoddyKit PRO. El curso de Zig Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Structs anónimos y tuplas»?

Cree valores agrupados ad hoc. Practicas Zig Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Zig Academy?

No se requiere experiencia previa. Zig Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Structs anónimos y tuplas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Zig Academy?

Sí. Cada lección de Zig Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Declarar structs y campos
  2. Métodos y el parámetro self
  3. Valores predeterminados de los campos
  4. Structs anónimos y tuplas
← Volver a Zig Academy