Курс языка программирования 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 это разные типы, поэтому их объекты типа не совпадают.

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

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