Curso de Raku / Avanzado / Contenedores / Introspección de contenedores / Exercises / ¿Qué es?

Solución: ¿Qué es?

Aquí tienes una de las posibles soluciones:

Código

my $a = 42;
my $b = 'x';

say $a.WHAT === Int;
say $b.WHAT === Int;

🦋 Encuentra el código fuente en el archivo what-is-it.raku.

Salida

True
False

Comentarios

  1. $a.WHAT no es la cadena Int sino el objeto de tipo Int real, así que === Int lo compara contra el tipo en sí y devuelve True.

  2. $b contiene una cadena, por lo que su WHAT es Str; al compararlo con Int da False. Esto es lo que hace que WHAT sea útil en condiciones, no solo en impresiones.

¿Qué es?   |   El valor predeterminado del contenedor