Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten / Klassen / Exercises / Noem het type

Oplossing: Noem het type

Hier is een mogelijke oplossing voor de taak.

Code

class Cat {
}

class Dog {
}

my $felix = Cat.new;

say $felix.WHAT;
say $felix.WHAT === Cat.WHAT;
say $felix.WHAT === Dog.WHAT;

🦋 Je kunt de broncode vinden in het bestand name-the-type.raku.

Uitvoer

(Cat)
True
False

Opmerkingen

  1. WHAT geeft het typeobject terug, tussen haakjes getoond als (Cat)$felix is een Cat.

  2. === vergelijkt twee typeobjecten op identiteit. $felix.WHAT === Cat.WHAT is True omdat Felix werkelijk een Cat is, terwijl $felix.WHAT === Dog.WHAT False is — een Cat en een Dog zijn verschillende typen, dus hun typeobjecten zijn niet hetzelfde.

Cursusnavigatie

Noem het type   |   Attributen