Perl - Referencia a Subrutinas

   
Vista:

Referencia a Subrutinas

Publicado por Job zakyo@yahoo.com (1 intervención) el 23/02/2015 22:53:38
Hola amigos. Estoy leyendo un tutorial de Perl, y me detuve en la sección de Referencias donde utiliza el símbolo flecha (->). y no puedo entender la línea 7. PUEDO VER QUE $$v[$i] ES EL VECTOR @b PERO NO ENTIENDO COMO LO IDENTIFICA

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
use strict;
sub operate{
        my ($rop, $neutral, $rv1) = splice @_,0,3;
        my @res = @$rv1;
        my $i;
        for($i=0; $i<@res; $i++){
         for my $v(@_){
            $res[$i] = $rop->($res[$i],defined($v->[$i])?$v->[$i]:$neutral);
         }
        }
        @res;
}
sub plus{
        $_[0]+$_[1]
}
sub times{
        $_[0]*$_[1]
}
my @a = (3,2,1,9);
my @b = (5,6,7);
my @m = operate(\&plus, 0,\@a,\@b);
print "@m\n";
my @c = (1,2);
my @m2 = operate(\&times, 1,\@a, \@b, @c);
print "@m2\n";

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder