Thread Defaults am Anfang oder zum Schluss? (11 answers)
Opened by Kuerbis at 2014-02-15 14:33

Kuerbis
 2014-02-15 14:33
#173552 #173552
User since
2011-03-20
939 Artikel
BenutzerIn
[default_avatar]
Hallo!

Ist es Geschmackssache ob man die Defaults am Anfang setzt und dann gegebenenfalls überschreibt oder ob man sie zum Schluss bei jenen Fällen setzt, die noch nicht definiert sind?

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/env perl
use warnings;
use strict;

my $new1 = Term_Choose1->new( { farbe => 'blau', aus => 'Holz' } );
print $new1->choose( { farbe => 'gelb' } );

my $new2 = Term_Choose2->new( { farbe => 'blau', aus => 'Holz' } );
print $new2->choose( { farbe => 'gelb' } );

package Term_Choose1;
sub new {
    my $class = shift;
    my ( $self ) = @_;
    return bless $self, $class;
}
sub choose {
    my $self = shift;
    my ( $opt ) = @_;
    $self = { %$self, %$opt } if defined $opt;
    $self->{farbe}  //= 'grün';
    $self->{nummer} //= 34;
    $self->{aus}    //= 'Eisen';
    return map { sprintf "%10s : %s\n", $_, $self->{$_} } sort keys %$self;
}
1;

package Term_Choose2;
sub new {
    my $class = shift;
    my ( $opt ) = @_;
    my $defaults = { farbe => 'grün', nummer => 34, aus => 'Eisen' };
    my $self = { %$defaults, %{$opt//{}} };
    return bless $self, $class;
}
sub choose {
    my $self = shift;
    my ( $opt ) = @_;
    $self = { %$self, %$opt } if defined $opt;
    return map { sprintf "%10s : %s\n", $_, $self->{$_} } sort keys %$self;
}
1;


nicht gleich, aber verwandt: http://stackoverflow.com/questions/21812519/should...

gefragt weil CPAN:WWW::Mechanize einfach weitermacht:

Code (perl): (dl )
1
2
3
4
5
6
7
use WWW::Mechanize;

my $mech = WWW::Mechanize->new( onerror => 'hallo' );
my $uri = 'http://www.heise.de';
$mech->get( $uri );
say $mech->content;
say "WWWWWW";

Last edited: 2014-02-16 15:38:42 +0100 (CET)

View full thread Defaults am Anfang oder zum Schluss?