Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj / La metaobjekta protokolo 🆕 / Metametodoj

Kvizo — La metaobjekta protokolo

Kion presas la jena programo?

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

say Point.^attributes.elems;
01
12
0(Point)
0eraron

.^attributes estas metametodo — vokata per .^ sur la metaobjekto de la tipo — kiu listigas la atributojn, kiujn tipo deklaras, kaj .elems kalkulas ilin. Point deklaras du atributojn, $.x kaj $.y, do ĝi presas 2.

Kursa navigado

Metametodoj   |   Aldoni metodojn dum la rulado