Thread Bitte um Hilfe bei bless Fehler
(39 answers)
Opened by bianca at 2019-09-28 17:06 2019-09-30T14:00:41 GwenDragon BTW: Schöner Tippfehler bei my $self = .... :) Das ist, wie so vieles in Perl, Geschmackssache, und hängt wohl auch davon ab, von welcher Art die Attribute sind, mit denen man üblicherweise zu tun hat. Damian Conway schreibt in seinen Perl Best Practices: QuoteAllein das kann man schon als ausreichenden Anlaß für die Trennung durchgehen lassen, da er noch einige Argumente dafür anführt. Ich habe mir angewöhnt, die Methoden zu trennen, hier sind meine persönlichen Gründe dafür:
Ein einfaches Beispiel für den letzten Punkt: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 use 5.020; package Sphere; sub new { my $class = shift; my $self = { location => { x => 1, y => 2, z => 3 }, radius => 100, }; bless $self,$class; } sub get_location { my $self = shift; return $self->{location}{shift()}; } package main; my $sphere = Sphere->new; my $y = get_location('y'); say $y; Wenn die vor letzte Zeile einfach nur my $y = $sphere->location('y'); lauten würde, dann sieht das nach einem Setter aus, und ich würde jedesmal drüber stolpern, was denn 'y' für eine Location sein könnte, und was der Setter wohl zurückgibt. Tatsächlich trenne ich seit einigen Jahren die Accessoren nicht mehr von Hand, sondern lasse trennen (von Moose), und um Damian zu ärgern, nenne ich die Getter wie das Attribut und die Setter haben den Präfix set_ (mit MooseX::SemiAffordanceAccessor), weil ich's schon vor Moose so gemacht habe. Mein API hat sich durch die Umstellung auf Moose nicht geändert. |