Curso de Raku / Avanzado / Contenedores

Introspección de contenedores

La introspección consiste en preguntarle a un valor o a un contenedor sobre sí mismo: su tipo, su contenedor subyacente y el mecanismo que hay detrás. Ya has utilizado una herramienta de introspección, .^name, para imprimir el tipo de un valor.

Raku ofrece una pequeña familia de estas herramientas, escritas en letras mayúsculas: WHAT, VAR, WHO y HOW. A veces se les llama pseudo-métodos, porque el compilador les da un significado especial en lugar de tratarlos como métodos ordinarios. Esta sección examina cada uno de ellos.

Como recordatorio, aquí tienes .^name mostrando cómo cambia el tipo de un contenedor sin tipo a medida que almacenas diferentes valores en él:

my $value;
say $value.^name; # Any

$value = 42;
say $value.^name; # Int

$value = 'forty-two';
say $value.^name; # Str

El contenedor comienza como Any y luego reporta el tipo del valor que contiene en ese momento.

Temas de esta sección

Práctica

Resuelve 1 cuestionario sobre el contenido de esta sección.

Ejercicios

Esta sección contiene 3 ejercicios. Mira todos los temas de esta sección antes de empezar los ejercicios.

  1. Describir una variable
  2. ¿Qué es?
  3. El valor predeterminado del contenedor

Solución: La variable de tema   |   Usando WHAT