miércoles, 3 de abril de 2019

Creando videojuegos en Rust lang (parte 9)

Programa 3. "pre_hello_ggez3" Un grupo vacío "( )" o la unidad: "unit"
En Rust un tipo de dato primitivo importante agregando con fines de completar el patrón de las tuplas es una tupla vacía. La tupla vacía es básicamente un grupo vacío. También es llamado la unidad ("unit"). Es un tipo de dato que lo escribimos como dos paréntesis juntos, uno abriendo y otro cerrando: "()". Este tipo de dato sólo admite un sólo valor, el valor se expresa de la misma forma: "()". La ventaja de este tipo de dato y este valor es que no ocupa espacio en la memoria y por lo tanto se puede utilizar todos los que queramos sin impactar la memoria del programa.

Este es un código de ejemplo donde declaramos una variable del tipo () con el valor () y lo imprimimos usando la opción de impresión debug ("{:?}"):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
fn main() {
    let mi_unidad = ();
    println!("mi_unidad = {:?}", mi_unidad);
    let tupla_de_unidades = ((), ());
    println!("tupla_de_unidades = {:?}", tupla_de_unidades);
    let (x, y) = tupla_de_unidades;
    println!("x = {:?}", x);
    println!("y = {:?}", y);
    println!("¡Fin del ejemplo!");
}

Este es el resultado de correr el código:

Este valor es útil de la misma forma que "void" es útil en C, puede usarse para indicar "nada" o tener una función que regresa nada, es decir una función que ejecutamos por lo que realiza pero no para obtener una salida. De la misma forma podemos usar "()" para indicar que ignoraremos un valor o indicarle a los que leen el código que siempre regresaremos el mismo valor vacío y que nunca va a variar a raíz de los datos de entrada. Más delante veremos ejemplos de estas funciones y además de otros ejemplos de uso que he visto en los ejemplos de ggez. Pero es importante tener en claro este concepto de unidad ya que al leer el código de los demás nos enfrentaremos con estos paréntesis sin nada adentro.

Navegación:
Primera parte
Siguiente parte
Parte anterior

Fuentes (inglés):

No hay comentarios.:

Publicar un comentario