Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Классы и объекты / Интроспекция объектов / Exercises / Подсчёт атрибутов

Решение: Подсчёт атрибутов

Вот один из возможных вариантов решения задачи.

Код

class Point {
    has $.x;
    has $.y;
}

say Point.^attributes.elems;

🦋 Исходный код можно найти в файле count-attributes.raku.

Вывод

2

Комментарии

  1. .^attributes возвращает список атрибутов класса.

  2. .elems их пересчитывает. Класс Point объявляет два атрибута, поэтому ответ — 2.

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

Подсчёт атрибутов   |   Протокол метаобъектов 🆕