Thread Attributname für privat|geschäftlich? (4 answers)
Opened by pktm at 2009-10-03 23:31

sid burn
 2009-10-05 14:50
#126500 #126500
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Oder ab "Moose 0.90" würde ich soetwas nutzen.

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
#!/usr/bin/env perl
# Core Modules
use strict;
use warnings;
use utf8;
use 5.010;
use open ':encoding(UTF-8)';
use open ':std';
use MooseX::Declare;

class Person {
    has 'name' => ( is => 'ro', isa => 'Str' );
    has 'private_phone_numbers' => (
        traits  => ['Array'],
        is      => 'ro',
        isa     => 'ArrayRef[Str]',
        default => sub { [] },
        handles => {
            all_private_numbers   => 'elements',
            add_private_number    => 'push',
            count_private_numbers => 'count',
            get_private_number    => 'get',
        },
    );
}

my $person = Person->new( name => 'David Raab' );
say "Numbers: ", $person->count_private_numbers;

$person->add_private_number('0171123456');
say "Numbers: ", $person->count_private_numbers;

$person->add_private_number('1234567890');
say "Numbers: ", $person->count_private_numbers;

say for $person->all_private_numbers;


Ausgabe:
Code: (dl )
1
2
3
4
5
Numbers: 0
Numbers: 1
Numbers: 2
0171123456
1234567890


Für "public" nummern etc. was du da hast eben nochmal ein Attribut das öffentliche/private etc. nummern hinzufügen.

Ohne Moose eben das interface nachbauen.
Last edited: 2009-10-05 14:51:40 +0200 (CEST)
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Attributname für privat|geschäftlich?