Curso de Raku / Objetos, entrada/salida y excepciones / Clases y objetos / El protocolo de metaobjetos 🆕 / Metamétodos
Quiz — El MOP
¿Qué imprime el programa siguiente?
class Point {
has $.x;
has $.y;
}
say Point.^attributes.elems;| 0 | 1 |
| 1 | 2 |
| 0 | (Point) |
| 0 | un error |
.^attributes es un metamétodo — llamado con
.^ sobre el metaobjeto del tipo — que enumera los atributos
que un tipo declara, y .elems los cuenta.
Point declara dos atributos, $.x y
$.y, así que imprime 2.