MooseX::AttributeTree

Software kuvakaappaus:
MooseX::AttributeTree
Ohjelmiston tiedot:
Versio: 0.04
Lähetyksen päivämäärä: 14 Apr 15
Kehittäjä: Christopher J. Madsen
Lupa: Vapaa
Suosio: 9

Rating: nan/5 (Total Votes: 0)

Sarjat voi periä ominaisuuksia vanhempiensa luokissa. Mutta joskus haluat ominaisuuden pystyä periä arvonsa pääobjekti. Esimerkiksi se, miten CSS tyylit toimivat HTML.
MooseX :: AttributeTree on Perl-moduuli, jonka avulla voit hakea TreeInherit piirre tahansa ominaisuuden omassa luokassa. & Nbsp; Tämä muuttaa tapaa attribuutin accessor menetelmä toimii. Kun luet attribuutin arvo, jos mitään arvoa ole asetettu määrite tämän esineen, accessor palaa arvon pääobjekti (joka voisi itsessään olla perinnöllinen).
Pääobjekti ei tarvitse olla samaa tyyppiä kuin lapsi esine, vaan sen on oltava menetelmä, jolla on sama nimi kuin attribuutin accessor menetelmä (ellet toimittaa fetch_method). (Vanhemman menetelmä voi olla attribuutti accessor menetelmää, mutta sen ei tarvitse olla.) Jos vanhempi ei ole oikea tapa, saat runtime error, jos lapsi yrittää soittaa sitä.
Oletuksena MooseX :: AttributeTree odottaa saavansa pääobjekti soittamalla objektin vanhempi menetelmä. Voit kuitenkin käyttää mitä tahansa menetelmää hakea yhteydestä välittämällä sopiva parent_link on TreeInherit piirre:
& Nbsp; on esi => (
& Nbsp; on => 'rw ",
& Nbsp; isa => 'Object ",
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; on arvo => (
& Nbsp; on => 'ro',
& Nbsp; piirteet => [TreeInherit => {parent_link => 'esi "}],
& Nbsp;);
Jos metodi palauttaa undef sitten perintö pysähtyy ja accessor käyttäytyy kuin normaali accessor. (Yleensä, parent_link on nimi attribuutin accessor menetelmää, mutta sen ei tarvitse olla.)
Joskus se ei ole kätevä pääobjekti olla erillinen menetelmä kunkin ominaisuuden, että lapsi esine saattaa haluta periä. Tällöin voit toimittaa fetch_method jotta TreeInherit piirre.
& Nbsp; on other_value => (
& Nbsp; on => 'ro',
& Nbsp; piirteet => [TreeInherit => {fetch_method => 'get_inherited "}],
& Nbsp;);
Kanssa fetch_method, perinnöllinen arvo tulevat
& Nbsp; $ itse-> vanhemmuutta> get_inherited ('other_value');
sen sijaan,
& Nbsp; $ itse-> vanhemmuutta> other_value ();
Jos attribuutti on predikaatti menetelmä, se raportoi onko määrite on asetettu, että esine. Predikaatti ei ole tietoa mitään arvoa, joka saattaa periytyä vanhemmalta. Tämä tarkoittaa, että $ object-> has_value voi return false vaikka $ object-> arvo palaisi arvo (periytyy vanhemman).
Samoin attribuutin selkeämpi tapa (jos on) olisi selkeä määrite vain tämä esine, ja ei koskaan vaikuttaisi pääobjekti.
ALKULAUSE
& Nbsp; paketti MyClass;
& Nbsp; käytä Moose;
& Nbsp; käytä MooseX :: AttributeTree ();
& Nbsp; on vanhempi => (
& Nbsp; on => 'rw ",
& Nbsp; isa => 'Object ",
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; on arvo => (
& Nbsp; on => 'rw ",
& Nbsp; piirteet => [qw / TreeInherit /],
& Nbsp;);

Vaatimukset :

  • Perl

Vastaavia ohjelmistoja

Maguma Workbench
Maguma Workbench

3 Jun 15

xfbsuite
xfbsuite

3 Jun 15

Netio
Netio

3 Jun 15

Muu ohjelmistojen kehittäjä Christopher J. Madsen

VBinDiff
VBinDiff

2 Jun 15

mktime
mktime

2 Jun 15

Kommentit MooseX::AttributeTree

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!