Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj / Klasoj / Exercises / Nomu la tipon

Solvo: Nomu la tipon

Jen ebla solvo de la tasko.

Kodo

class Cat {
}

class Dog {
}

my $felix = Cat.new;

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

🦋 Vi povas trovi la fontkodon en la dosiero name-the-type.raku.

Eligo

(Cat)
True
False

Komentoj

  1. WHAT redonas la tipobjekton, montratan en krampoj kiel (Cat)$felix estas Cat.

  2. === komparas du tipobjektojn pri identeco. $felix.WHAT === Cat.WHAT estas True, ĉar Felix vere estas Cat, dum $felix.WHAT === Dog.WHAT estas FalseCat kaj Dog estas malsamaj tipoj, do iliaj tipobjektoj ne estas la samaj.

Kursa navigado

Nomu la tipon   |   Atributoj