Corso di Raku / Oggetti, input/output ed eccezioni / Classi e oggetti / Classi / Exercises / Indicate il tipo

Soluzione: Indicate il tipo

Ecco una possibile soluzione del compito.

Codice

class Cat {
}

class Dog {
}

my $felix = Cat.new;

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

🦋 Trova il programma nel file name-the-type.raku.

Output

(Cat)
True
False

Commenti

  1. WHAT restituisce l’oggetto di tipo, mostrato fra parentesi come (Cat)$felix è un Cat.

  2. === confronta due oggetti di tipo per identità. $felix.WHAT === Cat.WHAT è True perché Felix è davvero un Cat, mentre $felix.WHAT === Dog.WHAT è False — un Cat e un Dog sono tipi diversi, quindi i loro oggetti di tipo non coincidono.

Indicate il tipo   |   Attributi