Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj
Introspekti objektojn
En la sekcio pri ujoj vi uzis
.^name por demandi al valoro ĝian tipon. La samaj metavokoj
.^ permesas al vi inspekti klason kaj ĝiajn objektojn:
iliajn nomojn, iliajn atributojn, kaj kie ili sidas en hierarkio.
La metametodo .^name redonas la nomon de la klaso:
class Dog {
has Str $.name;
method bark { 'Woof' }
}
say Dog.^name; # DogLa metametodo .^attributes listigas la atributojn de la
klaso. Ĉiu estas montrata kun sia tipo kaj sia interna privata nomo (la
formo $!, kiun vi renkontis ĉe privataj atributoj):
say Dog.^attributes; # (Str $!name)Introspekto estas utila por iloj, kiuj laboras kun objektoj ĝenerale — ekzemple, por presi ĉiun atributon de objekto sen scii ĝian klason anticipe. La sekva temo rigardas, kiel vidi la heredan ĉenon de klaso.
Ankaŭ en ĉi tiu sekcio
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu sekcio.
Ekzercoj
En ĉi tiu sekcio estas 2 ekzercoj. Trarigardu ĉiujn temojn de ĉi tiu sekcio antaŭ ol komenci la ekzercojn.