Soyut bir My :: Object ve somut rol uygulamalarını tanımladığımı söyle. :: :: :: :: :: :: :: :: ::: Sürdürülebilirlik nedenlerinden ötürü, nesne türüne bakan ve rolleri uygulayan sabit kodlanmış bir tablonun olmasını istemiyorum.Varolan Moose rolünü çalışma zamanında bir sınıfa nasıl yazarım?
has => 'id' (isa => 'Str', required => 1);
sub BUILD {
my $self = shift;
my $type = $self->lookup_type(); ## Returns 'TypeB'
{"My::Object::$type"}->meta->apply($self);
}
beni aşağıdakileri yaparak uygulanan My :: Nesne :: TypeB rolü ile My :: Nesne olsun Letting: Bir DWIMmy örnek olarak, My :: Nesne bu yöndeki şey arıyorum:
my $obj = My::Object(id = 'foo')
İstediğim şeyi yapacak mıyım yoksa tamamen yanlış yolda mıyım?
Düzenleme: Bunu çok basitleştirdim; Nesneyi hazırladığımda türü bilmek istemiyorum, nesnenin türünü belirlemesi ve doğru rolün yöntemlerini uygun şekilde uygulamasını istiyorum. Bunu daha net hale getirmek için sorumu düzenledim.
Hayır, yapmadım. -> Meta belgelerini doğru bir şekilde anladığımı ve yanlış yoldan aşağı inmediğimi anlatan en iyi uygulamalardan biriydi. – Oesor
Moose ve Perl genel olarak deneysel bir dil olma konusunda çok iyidir. Bir sorunuz varsa, deneyin ve sonuçların ne olduğunu görün. Eğer sonuçları anlamadıysanız * o zaman…… kendinizi hipotezinizi onaylamak/reddetmek için bir başkasını beklemek için çok fazla zaman kazandıracaksınız. – perigrin