Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Metaobjektu protokols 🆕 / Metametodes
Viktorīna — Metaobjektu protokols
Ko izdrukā šī programma?
class Point {
has $.x;
has $.y;
}
say Point.^attributes.elems;| 0 | 1 |
| 1 | 2 |
| 0 | (Point) |
| 0 | kļūda |
.^attributes ir metametode — izsaukta ar .^
uz tipa metaobjekta —, kas uzskaita tipa deklarētos atribūtus, un
.elems tos saskaita. Point deklarē divus
atribūtus $.x un $.y, tāpēc tiek izdrukāts
2.