Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten / Het meta-objectprotocol 🆕 / Meta-methoden

Quiz — Het MOP

Wat drukt het volgende programma af?

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

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

.^attributes is een metamethode — aangeroepen met .^ op het metaobject van het type — die de attributen opsomt die een type declareert, en .elems telt ze. Point declareert twee attributen, $.x en $.y, dus wordt 2 afgedrukt.

Cursusnavigatie

Meta-methoden   |   Methoden toevoegen tijdens de uitvoering