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