Курс Raku / Об’єкти, введення-виведення та винятки / Класи та об’єкти / Протокол метаоб’єктів 🆕 / Метаметоди
Тест — Протокол метаоб’єктів
Що виведе наведена програма?
class Point {
has $.x;
has $.y;
}
say Point.^attributes.elems;| 0 | 1 |
| 1 | 2 |
| 0 | (Point) |
| 0 | помилку |
.^attributes — це метаметод, який викликають через
.^ для метаоб’єкта типу; він перелічує атрибути, оголошені
типом, а .elems їх рахує. Point оголошує два
атрибути, $.x та $.y, тож виводиться
2.