pl: In welchem Bereich sind Traits nützlich?

Beitrag lesen

Charakteristisch für Trait Methoden ist die folgende Schreibweise:

my $self  = shift;
my $stash = shift || $self->{STASH};

Während das erste Argument, eine Klasseninstanz via Pfeiloperator übergeben wird, ist das zweite Argument optional. So kann man, weil an dieser Stelle das erste Argument bereits vorliegt, eine Eigenschaft von diesem als Default setzen.

Ideal auch für Unittests wo Methoden über ein Mockobjekt aufgerufen werden!