[Warszawa-pm] Tablica jako parametr procedury

Stanislaw Romanski stas w datos.pl
Pon, 6 Cze 2011, 17:41:02 PDT


Bingo.
Czegoś takiego szukałem.

Teraz funkcja, która jako parametr ma tablicę i jeden lub dwa skalary, może 
byc zadeklarowana i wołana tak:

    sub proto_fun ( \@$;$ )
    {
        my ($x, $y, $z) = @_;
        print Dumper('proto_fun',$x, $y, $z);
    }
    @rslt = proto_fun( @taborig, 2, 3);
    @rslt = proto_fun( @taborig, 2);

Mechanizm jest opisany na str 215-220 Perl Programowanie (wyd.2)

Dziękuję za wskazówkę.

S. R.


----- Original Message ----- 
From: "Dominik Jarmułowicz" <Dominik.Jarmulowicz w comarch.pl>
To: <warszawa-pm w pm.org>
Sent: Monday, June 06, 2011 7:02 PM
Subject: Re: [Warszawa-pm] Tablica jako parametr procedury


Prototypy?

> sub foo(\@$){
>     my ($x, $y) = @_;
>     use Data::Dumper;
>
>     warn Dumper $x;
>     warn Dumper $y;
> };
>
>
> my @t = qw(ania basia cecylia);
>
> foo(@t, 2);


> perl foo.pl
> $VAR1 = [
>           'ania',
>           'basia',
>           'cecylia'
>         ];
> $VAR1 = 2;




W dniu 06.06.2011 17:56, Stanislaw Romanski pisze:
> Cześć,
> Czy mozna napisać funkcję tak, by jednym z parametrów była *tablica* (a
> nie referencja do tablicy) ?
> ------------------------------------------------------------------------------
> Na przykład *splice* ma jako pierwszy parametr tablicę.
> my @taborig = ( qw( e0 e1 e2 e3 e4 e5 e6 ) );
> my @rslt = splice( @taborig, 2, 3);
> print Dumper(\@rslt); # e2 e3 e4
> @taborig = ( qw( e0 e1 e2 e3 e4 e5 e6 ) );
> @rslt = splice( @taborig, 2);
> print Dumper(\@rslt); # e2 e3 e4 e5 e6
> Czy można napisać funkcję my_splice, która będzie miała takie same
> parametry i działała podobnie ?
> Stanisław Romański
>
>
> _______________________________________________
> Warszawa-pm mailing list
> Warszawa-pm w pm.org
> http://mail.pm.org/mailman/listinfo/warszawa-pm

-- 
Dominik Jarmułowicz
Comarch G.K. www.comarch.pl
Warszawa "ORCO", Al. Jerozolimskie 81
Piętro XI, pokój 6, nr. wew. 2515
tel.:   (+48) 22 564 25 15
mobile: (+48) 660 464 308
jabber: Dominik.Jarmulowicz w im.comarch.pl



--------------------------------------------------------------------------------


_______________________________________________
Warszawa-pm mailing list
Warszawa-pm w pm.org
http://mail.pm.org/mailman/listinfo/warszawa-pm



Więcej informacji o liście Warszawa-pm