Курс по Raku / Обекти, вход-изход и изключения / Класове и обекти / Класове / Exercises / Назовете типа

Решение: Назовете типа

Ето едно възможно решение на задачата.

Код

class Cat {
}

class Dog {
}

my $felix = Cat.new;

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

🦋 Намерете програмата във файла name-the-type.raku.

Изход

(Cat)
True
False

Коментари

  1. WHAT връща обекта на типа, показан в скоби като (Cat)$felix е Cat.

  2. === сравнява два обекта на типа за идентичност. $felix.WHAT === Cat.WHAT дава True, защото Феликс наистина е Cat, докато $felix.WHAT === Dog.WHAT дава FalseCat и Dog са различни типове, така че обектите им на типа не са едно и също.

Навигация в курса

Назовете типа   |   Атрибути