Curso de Raku / Objetos, entrada/salida y excepciones / Clases y objetos / Clases / Exercises / Definido o no

Solución: Definido o no

Aquí tienes una posible solución para la tarea.

Código

class Cat {
}

class Dog {
}

for Cat, Dog, Cat.new, Dog.new -> $thing {
    say $thing.defined;
}

🦋 Puedes encontrar el código fuente en el archivo defined-or-not.raku.

Salida

False
False
True
True

Comentarios

  1. El bucle recorre una mezcla de objetos de tipo (Cat, Dog) e instancias (Cat.new, Dog.new).

  2. Los dos objetos de tipo no están definidos, así que defined devuelve False para ellos; las dos instancias sí lo están, así que devuelve True. Estar definido depende de que un valor sea un objeto de tipo o una instancia real, no de la clase a la que pertenece.

Definido o no   |   Nombre el tipo