Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj / Introspekti objektojn / Exercises / Priskribu klason
Solvo: Priskribu klason
Jen ebla solvo de la tasko.
Kodo
class Animal {
}
class Dog is Animal {
}
say Dog.^name;
say Dog.^mro.elems;
say 'Cat' ∈ Dog.^mro.map(*.^name);🦋 Vi povas trovi la fontkodon en la dosiero describe-a-class.raku.
Eligo
Dog
4
FalseKomentoj
.^nameredonas la propran nomon de la klaso,Dog..^mroredonas la heredan ĉenon, kaj.elemskalkulas ĝin. Estas kvar tipoj en la ĉeno —Dog, ĝia patroAnimal, kaj la universalajAnykajMu— do la kalkulo estas4..^mro.map(*.^name)transformas tiun ĉenon en la liston de tipnomoj,(Dog Animal Any Mu). La ara membreca operatoro∈poste kontrolas, ĉuCatestas unu el ili.Dogne devenas de iuCat, do la respondo estasFalse.